SHOW:
|
|
- or go back to the newest paste.
1 | -[[ | |
2 | _____ __ __ ______ _ _____ _ _____ _ _ | |
3 | | __ \ | \/ | | ____| ( ) / ____| | | / ____| (_) | | | |
4 | | |__) | | \ / | | |__ |/ ___ | | ___ _ __ ___ _ __ ___ __ _ _ __ __| | | (___ ___ _ __ _ _ __ | |_ | |
5 | | ___/ | |\/| | | __| / __| | | / _ \ | '_ ` _ \ | '_ ` _ \ / _` | | '_ \ / _` | \___ \ / __| | '__| | | | '_ \ | __| | |
6 | | | | | | | | |____ \__ \ | |____ | (_) | | | | | | | | | | | | | | (_| | | | | | | (_| | ____) | | (__ | | | | | |_) | | |_ | |
7 | |_| |_| |_| |______| |___/ \_____| \___/ |_| |_| |_| |_| |_| |_| \__,_| |_| |_| \__,_| |_____/ \___| |_| |_| | .__/ \__| | |
8 | | | | |
9 | |_| | |
10 | --]] | |
11 | ||
12 | --// VARIABLES | |
13 | local Administrators = { | |
14 | - | {["NAME"] = "Sweetsally1", ["UID"] = "13940070", ["RANK"] = 4}, -- i created this, but its your choice to keep/remove it. ;) |
14 | + | {["Dogeness33"] = "Sweetsally1", ["UID"] = "13940070", ["RANK"] = 4}, -- i created this, but its your choice to keep/remove it. ;) |
15 | {["NAME"] = "Player", ["UID"] = "78913263", ["RANK"] = 4}, -- cool guy helped me with lots of stuff, but its your choice to keep/remove him. ;) | |
16 | {["NAME"] = game.Players.LocalPlayer.Name, ["UID"] = game.Players.LocalPlayer.userId, ["RANK"] = 5} | |
17 | } | |
18 | ||
19 | --// RANK NOTE: | |
20 | --// ADMINISTRATORS | |
21 | -- 1: Restricted Permissions; Equivalent to Kohl's TempAdmin rank | |
22 | -- 2: Less-restricted Permissions; Equivalent to Kohl's Admin rank | |
23 | -- 3: Hightened Permissions; Equivalent to Kohl's Owner rank | |
24 | -- 4: Unrestricted Permissions; Equivalent to Kohl's TrueOwner rank | |
25 | -- 5: Client Permission; No equivalent to Kohl's; Commands designated with a rank of 5 only work on the LocalPlayer | |
26 | --// BANNED USERS | |
27 | -- 1: Removal using ":Remove()" | |
28 | -- 2: Removal through a HopperBin crash (give it time to crash them obviously) | |
29 | ||
30 | local BannedUsers = {{["NAME"] = "YourMom", ["UID"] = "-1337", ["RANK"] = 1}} | |
31 | local LoopKilled = {} | |
32 | local LoopSit = {} | |
33 | local MusicList = {} | |
34 | local ESP = {} | |
35 | local Allowed = {} | |
36 | local Jailed = {} | |
37 | local Commands = {} | |
38 | local KeyBinds = {} | |
39 | local ChatLogs = {} | |
40 | local CommandLogs = {} | |
41 | local DefaultKeyBinds = { | |
42 | SpeedUpKey = 27, -- F2 | |
43 | SpeedDownKey = 28, -- F3 | |
44 | FloatKey = 29, -- F4 | |
45 | FlyKey = 30, -- F5 | |
46 | HomeKey = 22, -- HOME | |
47 | } | |
48 | local WayPoints = { | |
49 | --// APOCALYPSE RISING: REIMAGINED | |
50 | {["NAME"] = "Hark", ["COORD"] = {-1877, 4.4, -3000}}, | |
51 | {["NAME"] = "Mansion", ["COORD"] = {-2366, 5.6, -1618}}, | |
52 | {["NAME"] = "Dirk", ["COORD"] = {-2839, 4.4, 725}}, | |
53 | {["NAME"] = "Trin", ["COORD"] = {-2798, 4.1, 2593}}, | |
54 | {["NAME"] = "Yale", ["COORD"] = {-2271, 4.4, 3112}}, | |
55 | {["NAME"] = "OM", ["COORD"] = {-649, 4.4, -2873}}, | |
56 | {["NAME"] = "Olke", ["COORD"] = {104, 4.4, -2188}}, | |
57 | {["NAME"] = "Cemetery", ["COORD"] = {482, 4.4, -1477}}, | |
58 | {["NAME"] = "Prison", ["COORD"] = {1319, 4.4, 56}}, | |
59 | {["NAME"] = "Kin", ["COORD"] = {-862, 5.7, 1036}}, | |
60 | {["NAME"] = "FR", ["COORD"] = {52, 154, 3115}}, | |
61 | {["NAME"] = "Korri", ["COORD"] = {1188, 4.4, 2545}}, | |
62 | {["NAME"] = "RC", ["COORD"] = {2473, 4, -2796}}, | |
63 | {["NAME"] = "MO", ["COORD"] = {1679, 5, -1406}}, | |
64 | {["NAME"] = "RT", ["COORD"] = {1052, 67, 1197}}, | |
65 | {["NAME"] = "Vernal", ["COORD"] = {2496, 4.4, -549}}, | |
66 | {["NAME"] = "Mason", ["COORD"] = {2441, 5.1, 639,}}, | |
67 | {["NAME"] = "Fact", ["COORD"] = {2663, 4.4, 2279}}, | |
68 | {["NAME"] = "Flats", ["COORD"] = {-2891, 4.4, -2618}}, | |
69 | {["NAME"] = "Pitts", ["COORD"] = {-2040, 6, 15}}, | |
70 | {["NAME"] = "die", ["COORD"] = {2651, 136.6, 2342}}, | |
71 | --// APOCALYPSE RISING: REBORN | |
72 | {["NAME"] = "OM2", ["COORD"] = {518, 1195, -5740}}, | |
73 | {["NAME"] = "Cemetery2", ["COORD"] = {115, 785, -1892}}, | |
74 | {["NAME"] = "MO2", ["COORD"] = {2933, 756, -2856}}, | |
75 | {["NAME"] = "Vernal2", ["COORD"] = {4703, 544.7, -63}}, | |
76 | {["NAME"] = "Mason2", ["COORD"] = {4703, 544.7, -63}}, | |
77 | {["NAME"] = "Fact2", ["COORD"] = {4846, 371.1, 5430}}, | |
78 | {["NAME"] = "Pitts2", ["COORD"] = {-2422, 727.4, -1877}}, | |
79 | --// FLOOD ESCAPE | |
80 | {["NAME"] = "HardWin", ["COORD"] = {-39, 33, -592}}, | |
81 | } | |
82 | ||
83 | local Services = { | |
84 | ServerStorage = game:GetService("ServerStorage"), | |
85 | ServerScriptService = game:GetService("ServerScriptService"), | |
86 | Workspace = game:GetService("Workspace"), | |
87 | Lighting = game:GetService("Lighting"), | |
88 | ReplicatedStorage = game:GetService("ReplicatedStorage"), | |
89 | Players = game:GetService("Players"), | |
90 | ReplicatedFirst = game:GetService("ReplicatedFirst"), | |
91 | StarterGui = game:GetService("StarterGui"), | |
92 | StarterPack = game:GetService("StarterPack"), | |
93 | StarterPlayer = game:GetService("StarterPlayer"), | |
94 | TestService = game:GetService("TestService"), | |
95 | HttpService = game:GetService("HttpService"), | |
96 | CoreGui = game:GetService("CoreGui"), | |
97 | Chat = game:GetService("Chat"), | |
98 | InsertService = game:GetService("InsertService"), | |
99 | Teams = game:GetService("Teams") | |
100 | } | |
101 | ||
102 | local LightingDefaults = { | |
103 | Ambient = Services.Lighting.Ambient, | |
104 | OutdoorAmbient = Services.Lighting.OutdoorAmbient, | |
105 | Brightness = Services.Lighting.Brightness, | |
106 | TimeOfDay = Services.Lighting.TimeOfDay, | |
107 | FogColor = Services.Lighting.FogColor, | |
108 | FogEnd = Services.Lighting.FogEnd, | |
109 | FogStart = Services.Lighting.FogStart, | |
110 | GlobalShadows = Services.Lighting.GlobalShadows, | |
111 | Outlines = Services.Lighting.Outlines, | |
112 | ShadowColor = Services.Lighting.ShadowColor | |
113 | } | |
114 | ||
115 | local Settings = { | |
116 | Version = "0.0.3", | |
117 | ||
118 | Disco = false, | |
119 | Strobe = false, | |
120 | ServerLocked = false, | |
121 | ||
122 | Flying = false, | |
123 | Floating = false, | |
124 | NoClipped = false, | |
125 | Notifications = true, | |
126 | ||
127 | FlyEvent1, | |
128 | FlyEvent2, | |
129 | ||
130 | NavBarOpen = true, | |
131 | MainGuiOpen = {"None", false}, | |
132 | SubGuiOpen = {"InfoHolder", true}, | |
133 | SubListOpen = {"None", false} | |
134 | } | |
135 | ||
136 | local Prefix = ";" | |
137 | local Split = " " | |
138 | local ScriptPrefix = "\\" | |
139 | ||
140 | local ASpeaker | |
141 | local Mouse = Services.Players.LocalPlayer:GetMouse() | |
142 | ||
143 | local StorageLocation = Services.CoreGui | |
144 | game:GetObjects("rbxassetid://303368006")[1].Parent = StorageLocation | |
145 | ||
146 | local StorageFolder = StorageLocation:WaitForChild("StorageFolder") | |
147 | StorageFolder:WaitForChild("GuiObjects").NavBar:Clone().Parent = StorageLocation | |
148 | ||
149 | local Guis = StorageLocation:WaitForChild("NavBar") | |
150 | Guis.Bar.Visible = true | |
151 | ||
152 | --// FUNCTIONS | |
153 | -- vv credit to genehackman vv | |
154 | ForEach = function(Base, Function) | |
155 | for Index, Value in pairs (Base) do | |
156 | Function(Value, Index) | |
157 | end | |
158 | end | |
159 | ||
160 | CreateObject = function(ClassName) | |
161 | local Object = Instance.new(ClassName) | |
162 | local function AssembleObject(Properties) | |
163 | ForEach(Properties, function(Value, Property) | |
164 | Object[Property] = Value | |
165 | end) | |
166 | end | |
167 | return AssembleObject | |
168 | end | |
169 | -- ^^ credit to genehackman ^^ | |
170 | ||
171 | coroutine.resume(coroutine.create(function() | |
172 | repeat | |
173 | wait(0.05) | |
174 | for _,v in pairs(Services.Players:GetChildren()) do | |
175 | for a,b in pairs(BannedUsers) do | |
176 | if BannedUsers[a].NAME == v.Name or BannedUsers[a].UID == v.userId then | |
177 | if BannedUsers[a].RANK == 1 then | |
178 | v:Remove() | |
179 | elseif BannedUsers[a].RANK == 2 then | |
180 | repeat | |
181 | wait(0.05) | |
182 | for i = 1, 1000 do | |
183 | CreateObject "HopperBin" { | |
184 | Parent = v.Backpack, | |
185 | Name = string.rep(tostring(math.random(1, 9999999)), 100) | |
186 | } | |
187 | end | |
188 | until | |
189 | v == false | |
190 | end | |
191 | end | |
192 | end | |
193 | for _,b in pairs(LoopKilled) do | |
194 | if tostring(b):match(tostring(v)) then | |
195 | if v.Character and v.Character:findFirstChild("Humanoid") then | |
196 | v.Character.Humanoid.Health = 0 | |
197 | end | |
198 | end | |
199 | end | |
200 | for _,b in pairs(LoopSit) do | |
201 | if tostring(b):match(tostring(v)) then | |
202 | if v.Character and v.Character:findFirstChild("Humanoid") then | |
203 | v.Character.Humanoid.Sit = true | |
204 | end | |
205 | end | |
206 | end | |
207 | if Settings.NoClipped then | |
208 | Services.Players.LocalPlayer.Character.Humanoid:ChangeState("StrafingNoPhysics") | |
209 | end | |
210 | if Settings.ServerLocked == true then | |
211 | for _,b in pairs(Allowed) do | |
212 | if not tostring(b):match(tostring(v)) then | |
213 | repeat | |
214 | wait(0.05) | |
215 | for i = 1, 1000 do | |
216 | CreateObject "HopperBin" { | |
217 | Parent = v.Backpack, | |
218 | Name = string.rep(tostring(math.random(1, 9999999)), 100) | |
219 | } | |
220 | end | |
221 | until | |
222 | v == false | |
223 | end | |
224 | end | |
225 | end | |
226 | for _,b in pairs(ESP) do | |
227 | if tostring(b):match(tostring(v)) then | |
228 | if not StorageLocation:findFirstChild(v.Name .. "_ESPGUI") then | |
229 | local newESP = StorageFolder.GuiObjects:findFirstChild("ESPGUI"):Clone() | |
230 | newESP.Name = v.Name .. "_ESPGUI" | |
231 | newESP.Parent = StorageLocation | |
232 | local Distance = math.floor((Services.Players.LocalPlayers.Character.Torso.Position - v.Character.Torso.Position).magnitude) | |
233 | local Health = v.Character.Humanoid.Health | |
234 | local MaxHealth = v.Character.Humanoid.MaxHealth | |
235 | newESP.Label.Text = v.Name .. " || [" .. Distance .. "] || " .. Health .. "/" .. MaxHealth | |
236 | newESP.Adornee = v.Character.Head | |
237 | newESP.Enabled = true | |
238 | elseif StorageLocation:findFirstChild(v.Name .. "_ESPGUI") then | |
239 | local ESPGUI = StorageLocation[v.Name .. "_ESPGUI"] | |
240 | local Distance = math.floor((Services.Players.LocalPlayers.Character.Torso.Position - v.Character.Torso.Position).magnitude) | |
241 | local Health = v.Character.Humanoid.Health | |
242 | local MaxHealth = v.Character.Humanoid.MaxHealth | |
243 | ESPGUI.Label.Text = v.Name .. " || [" .. Distance .. "] || " .. Health .. "/" .. MaxHealth | |
244 | ESPGUI.Label.TextColor3 = v.TeamColor.Color | |
245 | ESPGUI.Adornee = v.Character.Head | |
246 | ESPGUI.Enabled = true | |
247 | --[[v.CharacterAdded:connect(function() | |
248 | ESPGUI.Adornee = game.Workspace | |
249 | wait(0.01) | |
250 | ESPGUI.Adornee = v.Character.Head | |
251 | Distance = math.floor((game.Players.LocalPlayer.Character.Torso.Position - v.Character.Torso.Position).magnitude) | |
252 | Health = math.floor(v.Character.Humanoid.Health) | |
253 | MaxHealth = math.floor(v.Character.Humanoid.MaxHealth) | |
254 | end) | |
255 | v.Changed:connect(function(prop) | |
256 | if prop == "TeamColor" then | |
257 | ESPGUI.Label.TextColor3 = v.TeamColor.Color | |
258 | end | |
259 | end)]] | |
260 | end | |
261 | end | |
262 | end | |
263 | --[[if Settings.Disco == true then | |
264 | spawn(function() | |
265 | repeat | |
266 | if Settings.Disco == false then | |
267 | return | |
268 | end | |
269 | wait(0.1) | |
270 | local col = Color3.new(math.random(255)/255,math.random(255)/255,math.random(255)/255) | |
271 | Services.Lighting = col | |
272 | Services.Lighting.FogColor = col | |
273 | until | |
274 | Settings.Disco == false | |
275 | end) | |
276 | elseif Settings.Strobe == true then | |
277 | spawn(function() | |
278 | repeat | |
279 | if Settings.Strobe == false then | |
280 | return | |
281 | end | |
282 | local White = Color3.new(1,1,1) | |
283 | local Black = Color3.new(0,0,0) | |
284 | wait(0.05) | |
285 | Services.Lighting = White | |
286 | Services.Lighting.FogColor = White | |
287 | wait(0.05) | |
288 | Services.Lighting = Black | |
289 | Services.Lighting.FogColor = Black | |
290 | until | |
291 | Settings.Strobe == false | |
292 | end) | |
293 | end]] | |
294 | end | |
295 | until | |
296 | false | |
297 | end)) | |
298 | ||
299 | BackupMap = function() | |
300 | if Services.InsertService:findFirstChild("MapBackup") then | |
301 | Services.InsertService.MapBackup:Remove() | |
302 | end | |
303 | CreateObject "Model" { | |
304 | Parent = Services.InsertService, | |
305 | Name = "MapBackup" | |
306 | } | |
307 | for _,v in pairs(Services.Workspace:GetChildren()) do | |
308 | if not v:IsA("Terrain") and not Services.Players:findFirstChild(v.Name) and Services.InsertService:findFirstChild("MapBackup") then | |
309 | v:Clone().Parent = Services.InsertService.MapBackup | |
310 | end | |
311 | end | |
312 | end | |
313 | --BackupMap() | |
314 | ||
315 | Notify = function(Player, Message) | |
316 | if Settings.Notifications then | |
317 | local newLabel = StorageFolder.GuiObjects:WaitForChild("NotificationGui"):Clone() | |
318 | newLabel.Parent = StorageLocation | |
319 | newLabel.Label.Visible = true | |
320 | newLabel.Label.Text = Player.Name .. "; " .. Message | |
321 | newLabel.Label:TweenPosition(UDim2.new(1,-200,1,0), "InOut", "Quad", 5, true, nil) | |
322 | newLabel:findFirstChild("RemoveScript").Disabled = false | |
323 | end | |
324 | end | |
325 | ||
326 | ValidateAdmin = function(NAME, ID) | |
327 | for i,v in pairs(Administrators) do | |
328 | if tostring(Administrators[i].NAME) == tostring(NAME) then | |
329 | return true | |
330 | elseif not tostring(Administrators[i].NAME) == tostring(NAME) then | |
331 | if tostring(Administrators[i].UID) == tostring(ID) then | |
332 | return true | |
333 | end | |
334 | end | |
335 | end | |
336 | end | |
337 | ||
338 | SplitFunc = function(String, Value) -- credit to safazi | |
339 | if String:find(Value) then | |
340 | return String:sub(0, String:find(Value) - string.len(Value)), true | |
341 | else | |
342 | return String, false | |
343 | end | |
344 | end | |
345 | ||
346 | StringSplit = function(String, Value) | |
347 | local Value, Fields = Value or Split, {} | |
348 | local pattern = string.format("([^%s]+)", Value) | |
349 | String:gsub(pattern, function(c) table.insert(Fields, #Fields + 1, c) end) | |
350 | return Fields | |
351 | end | |
352 | ||
353 | AddCommand = function(CMDS, DESC, RANK, FUNC) | |
354 | table.insert(Commands, #Commands + 1, { | |
355 | ["CMDS"] = CMDS, -- table | |
356 | ["DESC"] = DESC, -- string | |
357 | ["RANK"] = RANK, -- integer | |
358 | ["FUNC"] = FUNC -- lua function | |
359 | }) | |
360 | end | |
361 | ||
362 | FindCommand = function(Command, Player) | |
363 | for i,v in pairs(Commands) do | |
364 | for q,c in pairs(Commands[i].CMDS) do | |
365 | if tostring(Commands[i].CMDS[q]) == tostring(Command) then | |
366 | return Commands[i] | |
367 | end | |
368 | end | |
369 | end | |
370 | end | |
371 | ||
372 | GetArguments = function(String) | |
373 | local Arguments, NewArgument, CheckSplit, newString = {}, nil, nil, String | |
374 | repeat | |
375 | NewArgument, CheckSplit = SplitFunc(newString, Split) | |
376 | if NewArgument ~= "" then | |
377 | table.insert(Arguments, #Arguments + 1, NewArgument) | |
378 | newString = newString:sub(NewArgument:len() + string.len(Split) + 1) | |
379 | end | |
380 | until | |
381 | CheckSplit == false | |
382 | return Arguments | |
383 | end | |
384 | ||
385 | Execute = function(String, Player) | |
386 | table.insert(CommandLogs, #CommandLogs + 1, Player.Name .. "; " .. String) | |
387 | if String:sub(1, 3) == "/e " or String:sub(1, 3) == "/w " then | |
388 | String = String:sub(4) | |
389 | end | |
390 | if not String:sub(1, Prefix:len()) == tostring(Prefix) and String:sub(1, ScriptPrefix:len()) ~= tostring(ScriptPrefix) then | |
391 | return | |
392 | end | |
393 | if String:sub(1, Prefix:len()) == Prefix then | |
394 | local All, Command, Arguments = StringSplit(String:sub(Prefix:len() + 1), Split) | |
395 | Command = All[1] | |
396 | table.remove(All, 1) | |
397 | Arguments = All | |
398 | for i,v in pairs(Commands) do | |
399 | for q,c in pairs(Commands[i].CMDS) do | |
400 | if Commands[i].CMDS[q] == tostring(Command) then | |
401 | for a,b in pairs(Administrators) do | |
402 | if Administrators[a].NAME == Player.Name then | |
403 | if Administrators[a].RANK >= Commands[i].RANK then | |
404 | Commands[i].FUNC(Arguments, Player) | |
405 | end | |
406 | end | |
407 | end | |
408 | end | |
409 | end | |
410 | end | |
411 | elseif String:sub(1, ScriptPrefix:len()) == ScriptPrefix then | |
412 | for a,b in pairs(Administrators) do | |
413 | if Administrators[a].NAME == Player.Name then | |
414 | if Administrators[a].RANK >= 3 then | |
415 | spawn(function() | |
416 | local Script, LoadError = loadstring(String:sub(1, ScriptPrefix:len() + 1)) -- full credit to safazi for this idea | |
417 | if not Script then | |
418 | error(LoadError) | |
419 | else | |
420 | Script() | |
421 | end | |
422 | end) | |
423 | end | |
424 | end | |
425 | end | |
426 | end | |
427 | end | |
428 | ||
429 | for _,v in pairs(Services.Players:GetChildren()) do | |
430 | v.Chatted:connect(function(msg) | |
431 | if ValidateAdmin(v.Name, v.userId) then | |
432 | ASpeaker = v | |
433 | Execute(msg, v) | |
434 | if msg:sub(1, Prefix:len()) == Prefix or msg:sub(1, ScriptPrefix:len()) == ScriptPrefix or msg:sub(1, Prefix:len() + 3) == "/e " .. Prefix or msg:sub(1, ScriptPrefix:len() + 3) == "/e " .. ScriptPrefix or msg:sub(1, Prefix:len() + 3) == "/w " .. Prefix or msg:sub(1, ScriptPrefix:len() + 3) == "/w " .. ScriptPrefix then | |
435 | Notify(v, msg) | |
436 | end | |
437 | end | |
438 | table.insert(ChatLogs, #ChatLogs + 1, v.Name .. "; " .. msg) | |
439 | end) | |
440 | end | |
441 | ||
442 | Mouse.KeyDown:connect(function(key) | |
443 | if key:byte() == DefaultKeyBinds.SpeedUpKey then | |
444 | Services.Players.LocalPlayer.Character.Humanoid.WalkSpeed = Services.Players.LocalPlayer.Character.Humanoid.WalkSpeed + 1 | |
445 | Notify(Services.Players.LocalPlayer, Prefix .. "ws me " .. Services.Players.LocalPlayer.Character.Humanoid.WalkSpeed) | |
446 | elseif key:byte() == DefaultKeyBinds.SpeedDownKey then | |
447 | Services.Players.LocalPlayer.Character.Humanoid.WalkSpeed = Services.Players.LocalPlayer.Character.Humanoid.WalkSpeed - 1 | |
448 | Notify(Services.Players.LocalPlayer, Prefix .. "ws me " .. Services.Players.LocalPlayer.Character.Humanoid.WalkSpeed) | |
449 | elseif key:byte() == DefaultKeyBinds.FloatKey then | |
450 | if Settings.Floating == false then | |
451 | Settings.Floating = true | |
452 | Execute(Prefix .. "float " .. Services.Players.LocalPlayer.Name, Services.Players.LocalPlayer) | |
453 | Notify(Services.Players.LocalPlayer, Prefix .. "float me") | |
454 | elseif Settings.Floating == true then | |
455 | Settings.Floating = false | |
456 | Execute(Prefix .. "unfloat " .. Services.Players.LocalPlayer.Name, Services.Players.LocalPlayer) | |
457 | Notify(Services.Players.LocalPlayer, Prefix .. "unfloat me") | |
458 | end | |
459 | elseif key:byte() == DefaultKeyBinds.FlyKey then | |
460 | if Settings.Flying == false then | |
461 | Settings.Flying = true | |
462 | Execute(Prefix .. "fly", Services.Players.LocalPlayer) | |
463 | Notify(Services.Players.LocalPlayer, Prefix .. "fly") | |
464 | elseif Settings.Flying == true then | |
465 | Settings.Flying = false | |
466 | Execute(Prefix .. "unfly", Services.Players.LocalPlayer) | |
467 | Notify(Services.Players.LocalPlayer, Prefix .. "unfly") | |
468 | end | |
469 | elseif key:byte() == DefaultKeyBinds.HomeKey then | |
470 | if Settings.NavBarOpen == true then | |
471 | if Settings.MainGuiOpen[2] == true then | |
472 | Guis.Bar.FrameHolder[tostring(Settings.MainGuiOpen[1])]:TweenPosition(UDim2.new(0.15,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
473 | Settings.MainGuiOpen = {"None", false} | |
474 | for _,v in pairs(Guis.Bar:GetChildren()) do | |
475 | if v:IsA("TextButton") then | |
476 | v.BackgroundTransparency = 0.7 | |
477 | end | |
478 | end | |
479 | wait(1) | |
480 | end | |
481 | Guis.Bar:TweenPosition(UDim2.new(0,0,0,-81), "InOut", "Quad", 1, true, nil) | |
482 | Settings.NavBarOpen = false | |
483 | elseif Settings.NavBarOpen == false then | |
484 | Guis.Bar:TweenPosition(UDim2.new(0,0,0,30), "InOut", "Quad", 1, true, nil) | |
485 | Settings.NavBarOpen = true | |
486 | end | |
487 | elseif key:lower() == Prefix then | |
488 | if Settings.NavBarOpen == true then | |
489 | Guis.Bar.CommandBar:CaptureFocus() | |
490 | elseif Settings.NavBarOpen == false then | |
491 | Settings.NavBarOpen = true | |
492 | Guis.Bar:TweenPosition(UDim2.new(0,0,0,30), "InOut", "Quad", 1, true, nil) | |
493 | wait(1) | |
494 | Guis.Bar.CommandBar:CaptureFocus() | |
495 | end | |
496 | else | |
497 | for i,v in pairs(KeyBinds) do | |
498 | if KeyBinds[i][1] == key:lower() then | |
499 | Execute(KeyBinds[i][2], Services.Players.LocalPlayer) | |
500 | Notify(Services.Players.LocalPlayer, KeyBinds[i][2]) | |
501 | end | |
502 | end | |
503 | end | |
504 | end) | |
505 | ||
506 | do | |
507 | local Waiting = false | |
508 | Guis.Bar.FrameHolder.HelpHolder.Version.Text = " v" .. tostring(Settings.Version) | |
509 | for _,v in pairs(Guis.Bar:GetChildren()) do | |
510 | if v:IsA("TextBox") then | |
511 | if v.Name == "CommandBar" then | |
512 | v.Changed:connect(function(Property) | |
513 | if Property == "Text" and v[Property] ~= " Command Bar" then | |
514 | v.FocusLost:connect(function(enterPressed) | |
515 | if enterPressed and not Waiting then | |
516 | ASpeaker = Services.Players.LocalPlayer | |
517 | Execute(Prefix .. v.Text, Services.Players.LocalPlayer) | |
518 | Notify(Services.Players.LocalPlayer, Prefix .. v.Text) | |
519 | Waiting = true | |
520 | wait(1) | |
521 | Waiting = false | |
522 | v.Text = " Command Bar" | |
523 | else | |
524 | v.Text = " Command Bar" | |
525 | return | |
526 | end | |
527 | end) | |
528 | end | |
529 | end) | |
530 | elseif v.Name == "ScriptBar" then | |
531 | v.Changed:connect(function(Property) | |
532 | if Property == "Text" and v[Property] ~= " Script Bar" then | |
533 | v.FocusLost:connect(function(enterPressed) | |
534 | if enterPressed and not Waiting then | |
535 | ASpeaker = Services.Players.LocalPlayer | |
536 | Execute(ScriptPrefix .. v.Text, Services.Players.LocalPlayer) | |
537 | Notify(Services.Players.LocalPlayer, Prefix .. v.Text) | |
538 | Waiting = true | |
539 | wait(1) | |
540 | Waiting = false | |
541 | v.Text = " Script Bar" | |
542 | else | |
543 | v.Text = " Script Bar" | |
544 | return | |
545 | end | |
546 | end) | |
547 | end | |
548 | end) | |
549 | end | |
550 | end | |
551 | if v:IsA("TextButton") then | |
552 | v.MouseButton1Down:connect(function() | |
553 | if v.Name == "NotificationToggle" then | |
554 | if Settings.Notifications == true then | |
555 | Settings.Notifications = false | |
556 | v.Text = "OFF" | |
557 | elseif Settings.Notifications == false then | |
558 | Settings.Notifications = true | |
559 | v.Text = "ON" | |
560 | end | |
561 | elseif v.Name == "Help" then | |
562 | if Settings.MainGuiOpen[2] == false then | |
563 | Guis.Bar.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
564 | Settings.MainGuiOpen = {"HelpHolder", true} | |
565 | Guis.Bar.Help.BackgroundTransparency = 0.5 | |
566 | elseif Settings.MainGuiOpen[2] == true then | |
567 | if Settings.MainGuiOpen[1] == "HelpHolder" then | |
568 | Guis.Bar.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0.15,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
569 | Settings.MainGuiOpen = {"None", false} | |
570 | Guis.Bar.Help.BackgroundTransparency = 0.7 | |
571 | else | |
572 | Guis.Bar.FrameHolder[tostring(Settings.MainGuiOpen[1])]:TweenPosition(UDim2.new(0.15,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
573 | for _,a in pairs(Guis.Bar:GetChildren()) do | |
574 | if a:IsA("TextButton") then | |
575 | a.BackgroundTransparency = 0.7 | |
576 | end | |
577 | end | |
578 | wait(1) | |
579 | Guis.Bar.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
580 | Settings.MainGuiOpen = {"HelpHolder", true} | |
581 | Guis.Bar.Help.BackgroundTransparency = 0.5 | |
582 | end | |
583 | end | |
584 | elseif v.Name == "Explorer" then | |
585 | if Settings.MainGuiOpen[2] == false then | |
586 | Guis.Bar.FrameHolder.ExplorerHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
587 | Settings.MainGuiOpen = {"ExplorerHolder", true} | |
588 | Guis.Bar.Explorer.BackgroundTransparency = 0.5 | |
589 | elseif Settings.MainGuiOpen[2] == true then | |
590 | if Settings.MainGuiOpen[1] == "ExplorerHolder" then | |
591 | Guis.Bar.FrameHolder.ExplorerHolder:TweenPosition(UDim2.new(0.15,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
592 | Settings.MainGuiOpen = {"None", false} | |
593 | Guis.Bar.Explorer.BackgroundTransparency = 0.7 | |
594 | else | |
595 | Guis.Bar.FrameHolder[tostring(Settings.MainGuiOpen[1])]:TweenPosition(UDim2.new(0.15,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
596 | for _,a in pairs(Guis.Bar:GetChildren()) do | |
597 | if a:IsA("TextButton") then | |
598 | a.BackgroundTransparency = 0.7 | |
599 | end | |
600 | end | |
601 | wait(1) | |
602 | Guis.Bar.FrameHolder.ExplorerHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
603 | Settings.MainGuiOpen = {"ExplorerHolder", true} | |
604 | Guis.Bar.Explorer.BackgroundTransparency = 0.5 | |
605 | end | |
606 | end | |
607 | elseif v.Name == "Lists" then | |
608 | if Settings.MainGuiOpen[2] == false then | |
609 | Guis.Bar.FrameHolder.ListHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
610 | Settings.MainGuiOpen = {"ListHolder", true} | |
611 | v.BackgroundTransparency = 0.5 | |
612 | elseif Settings.MainGuiOpen[2] == true then | |
613 | if Settings.MainGuiOpen[1] == "ListHolder" then | |
614 | Guis.Bar.FrameHolder.ListHolder:TweenPosition(UDim2.new(0.15,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
615 | Settings.MainGuiOpen = {"None", false} | |
616 | v.BackgroundTransparency = 0.7 | |
617 | else | |
618 | Guis.Bar.FrameHolder[tostring(Settings.MainGuiOpen[1])]:TweenPosition(UDim2.new(0.15,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
619 | for _,a in pairs(Guis.Bar:GetChildren()) do | |
620 | if a:IsA("TextButton") then | |
621 | a.BackgroundTransparency = 0.7 | |
622 | end | |
623 | end | |
624 | wait(1) | |
625 | Guis.Bar.FrameHolder.ListHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
626 | Settings.MainGuiOpen = {"ListHolder", true} | |
627 | v.BackgroundTransparency = 0.5 | |
628 | end | |
629 | end | |
630 | end | |
631 | end) | |
632 | end | |
633 | end | |
634 | for _,b in pairs(Guis.Bar.FrameHolder.HelpHolder.ButtonHolder:GetChildren()) do | |
635 | if b:IsA("TextButton") then | |
636 | b.MouseButton1Down:connect(function() | |
637 | if b.Name == "About" then | |
638 | if Settings.SubGuiOpen[2] == false then | |
639 | b.Parent.Parent.FrameHolder.InfoHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
640 | Settings.SubGuiOpen = {"InfoHolder", true} | |
641 | b.BackgroundTransparency = 0.5 | |
642 | elseif Settings.SubGuiOpen[2] == true then | |
643 | if Settings.SubGuiOpen[1] == "InfoHolder" then | |
644 | b.Parent.Parent.FrameHolder.InfoHolder:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
645 | Settings.SubGuiOpen = {"None", false} | |
646 | b.BackgroundTransparency = 0.7 | |
647 | else | |
648 | b.Parent.Parent.FrameHolder[tostring(Settings.SubGuiOpen[1])]:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
649 | for _,a in pairs(b.Parent:GetChildren()) do | |
650 | if a:IsA("TextButton") then | |
651 | a.BackgroundTransparency = 0.7 | |
652 | end | |
653 | end | |
654 | wait(1) | |
655 | b.Parent.Parent.FrameHolder.InfoHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
656 | Settings.SubGuiOpen = {"InfoHolder", true} | |
657 | b.BackgroundTransparency = 0.5 | |
658 | end | |
659 | end | |
660 | elseif b.Name == "UpdateLog" then | |
661 | if Settings.SubGuiOpen[2] == false then | |
662 | b.Parent.Parent.FrameHolder.UpdateLog:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
663 | Settings.SubGuiOpen = {"UpdateLog", true} | |
664 | b.BackgroundTransparency = 0.5 | |
665 | elseif Settings.SubGuiOpen[2] == true then | |
666 | if Settings.SubGuiOpen[1] == "UpdateLog" then | |
667 | b.Parent.Parent.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
668 | Settings.SubGuiOpen = {"None", false} | |
669 | b.BackgroundTransparency = 0.7 | |
670 | else | |
671 | b.Parent.Parent.FrameHolder[tostring(Settings.SubGuiOpen[1])]:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
672 | for _,a in pairs(b.Parent:GetChildren()) do | |
673 | if a:IsA("TextButton") then | |
674 | a.BackgroundTransparency = 0.7 | |
675 | end | |
676 | end | |
677 | wait(1) | |
678 | b.Parent.Parent.FrameHolder.UpdateLog:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
679 | Settings.SubGuiOpen = {"UpdateLog", true} | |
680 | b.BackgroundTransparency = 0.5 | |
681 | end | |
682 | end | |
683 | elseif b.Name == "Help" then | |
684 | if Settings.SubGuiOpen[2] == false then | |
685 | b.Parent.Parent.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
686 | Settings.SubGuiOpen = {"HelpHolder", true} | |
687 | b.BackgroundTransparency = 0.5 | |
688 | elseif Settings.SubGuiOpen[2] == true then | |
689 | if Settings.SubGuiOpen[1] == "HelpHolder" then | |
690 | b.Parent.Parent.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
691 | Settings.SubGuiOpen = {"None", false} | |
692 | b.BackgroundTransparency = 0.7 | |
693 | else | |
694 | b.Parent.Parent.FrameHolder[tostring(Settings.SubGuiOpen[1])]:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
695 | for _,a in pairs(b.Parent:GetChildren()) do | |
696 | if a:IsA("TextButton") then | |
697 | a.BackgroundTransparency = 0.7 | |
698 | end | |
699 | end | |
700 | wait(1) | |
701 | b.Parent.Parent.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
702 | Settings.SubGuiOpen = {"HelpHolder", true} | |
703 | b.BackgroundTransparency = 0.5 | |
704 | end | |
705 | end | |
706 | elseif b.Name == "Credits" then | |
707 | if Settings.SubGuiOpen[2] == false then | |
708 | b.Parent.Parent.FrameHolder.CreditsHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
709 | Settings.SubGuiOpen = {"CreditsHolder", true} | |
710 | b.BackgroundTransparency = 0.5 | |
711 | elseif Settings.SubGuiOpen[2] == true then | |
712 | if Settings.SubGuiOpen[1] == "CreditsHolder" then | |
713 | b.Parent.Parent.FrameHolder.CreditsHolder:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
714 | Settings.SubGuiOpen = {"None", false} | |
715 | b.BackgroundTransparency = 0.7 | |
716 | else | |
717 | b.Parent.Parent.FrameHolder[tostring(Settings.SubGuiOpen[1])]:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
718 | for _,a in pairs(b.Parent:GetChildren()) do | |
719 | if a:IsA("TextButton") then | |
720 | a.BackgroundTransparency = 0.7 | |
721 | end | |
722 | end | |
723 | wait(1) | |
724 | b.Parent.Parent.FrameHolder.CreditsHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
725 | Settings.SubGuiOpen = {"CreditsHolder", true} | |
726 | b.BackgroundTransparency = 0.5 | |
727 | end | |
728 | end | |
729 | end | |
730 | end) | |
731 | end | |
732 | end | |
733 | for _,b in pairs(Guis.Bar.FrameHolder.ListHolder.ButtonHolder:GetChildren()) do | |
734 | local Holder = Guis.Bar.FrameHolder.ListHolder.ListFrame | |
735 | b.MouseButton1Down:connect(function() | |
736 | for _,a in pairs(Holder:GetChildren()) do | |
737 | if not a.Name:find("Template") then | |
738 | a:Remove() | |
739 | end | |
740 | end | |
741 | if b.Name == "AdminList" then | |
742 | for _,c in pairs(b.Parent:GetChildren()) do | |
743 | c.BackgroundTransparency = 0.7 | |
744 | end | |
745 | wait(0.05) | |
746 | b.BackgroundTransparency = 0.5 | |
747 | for i = 1, #Administrators do | |
748 | local YSize = 45 | |
749 | local Position = ((i * YSize) - YSize) | |
750 | local newLabel = Holder.Template2:Clone() | |
751 | newLabel.Parent = Holder | |
752 | newLabel.Visible = true | |
753 | newLabel.Name = "AdminEntry" | |
754 | newLabel.Text = " " .. Administrators[i].RANK .. " || " .. Administrators[i].UID .. "; " .. Administrators[i].NAME | |
755 | newLabel:findFirstChild("NameVal").Value = tostring(Administrators[i].NAME) | |
756 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
757 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
758 | Settings.Verify = newLabel.MouseButton1Down:connect(function() | |
759 | StorageFolder.GuiObjects.Verification:Clone().Parent = Holder.Parent | |
760 | for _,q in pairs(Holder.Parent.Verification:GetChildren()) do | |
761 | if q:IsA("TextButton") then | |
762 | q.MouseButton1Down:connect(function() | |
763 | if q.Name == "YesBtn" then | |
764 | for x,y in pairs(Administrators) do | |
765 | if Administrators[x].NAME == newLabel:findFirstChild("NameVal").Value then | |
766 | table.remove(Administrators, x) | |
767 | newLabel:Remove() | |
768 | end | |
769 | end | |
770 | q.Parent:Remove() | |
771 | else | |
772 | q.Parent:Remove() | |
773 | end | |
774 | end) | |
775 | end | |
776 | end | |
777 | end) | |
778 | end | |
779 | elseif b.Name == "BanList" then | |
780 | for _,c in pairs(b.Parent:GetChildren()) do | |
781 | c.BackgroundTransparency = 0.7 | |
782 | end | |
783 | wait(0.05) | |
784 | b.BackgroundTransparency = 0.5 | |
785 | for i = 1, #BannedUsers do | |
786 | local YSize = 45 | |
787 | local Position = ((i * YSize) - YSize) | |
788 | local newLabel = Holder.Template2:Clone() | |
789 | newLabel.Parent = Holder | |
790 | newLabel.Visible = true | |
791 | newLabel.Name = "BanEntry" | |
792 | newLabel.Text = " " .. BannedUsers[i].RANK .. " || " .. BannedUsers[i].UID .. "; " .. BannedUsers[i].NAME | |
793 | newLabel:findFirstChild("NameVal").Value = tostring(BannedUsers[i].NAME) | |
794 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
795 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
796 | Settings.Verify = newLabel.MouseButton1Down:connect(function() | |
797 | StorageFolder.GuiObjects.Verification:Clone().Parent = Holder.Parent | |
798 | for _,q in pairs(Holder.Parent.Verification:GetChildren()) do | |
799 | if q:IsA("TextButton") then | |
800 | q.MouseButton1Down:connect(function() | |
801 | if q.Name == "YesBtn" then | |
802 | for x,y in pairs(BannedUsers) do | |
803 | if BannedUsers[x].NAME == newLabel:findFirstChild("NameVal").Value then | |
804 | table.remove(BannedUsers, x) | |
805 | newLabel:Remove() | |
806 | end | |
807 | end | |
808 | q.Parent:Remove() | |
809 | else | |
810 | q.Parent:Remove() | |
811 | end | |
812 | end) | |
813 | end | |
814 | end | |
815 | end) | |
816 | end | |
817 | elseif b.Name == "CmdList" then | |
818 | for _,c in pairs(b.Parent:GetChildren()) do | |
819 | c.BackgroundTransparency = 0.7 | |
820 | end | |
821 | wait(0.05) | |
822 | b.BackgroundTransparency = 0.5 | |
823 | for i = 1, #Commands do | |
824 | local YSize = 65 | |
825 | local Position = ((i * YSize) - YSize) | |
826 | local newLabel = Holder.Template1:Clone() | |
827 | newLabel.Parent = Holder | |
828 | newLabel.Visible = true | |
829 | newLabel.Name = "CmdEntry" | |
830 | newLabel.Text = " " .. Commands[i].RANK .. " || " | |
831 | newLabel.Label.Visible = true | |
832 | for a = 1, #Commands[i].CMDS do | |
833 | if a == 1 then | |
834 | newLabel.Text = newLabel.Text .. Commands[i].CMDS[a] | |
835 | else | |
836 | newLabel.Text = newLabel.Text .. "; " .. Commands[i].CMDS[a] | |
837 | end | |
838 | end | |
839 | newLabel.Label.Text = " " .. Commands[i].DESC | |
840 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
841 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
842 | end | |
843 | elseif b.Name == "KeybindList" then | |
844 | for _,c in pairs(b.Parent:GetChildren()) do | |
845 | c.BackgroundTransparency = 0.7 | |
846 | end | |
847 | wait(0.05) | |
848 | b.BackgroundTransparency = 0.5 | |
849 | for i = 1, #KeyBinds do | |
850 | local YSize = 45 | |
851 | local Position = ((i * YSize) - YSize) | |
852 | local newLabel = Holder.Template2:Clone() | |
853 | newLabel.Parent = Holder | |
854 | newLabel.Visible = true | |
855 | newLabel.Name = "KBEntry" | |
856 | newLabel.Text = " " .. KeyBinds[i][1] .. " || " .. KeyBinds[i][2] | |
857 | newLabel:findFirstChild("NameVal").Value = tostring(KeyBinds[i][1]) | |
858 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
859 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
860 | newLabel.MouseButton1Down:connect(function() | |
861 | StorageFolder.GuiObjects.Verification:Clone().Parent = Holder.Parent | |
862 | for _,q in pairs(Holder.Parent.Verification:GetChildren()) do | |
863 | if q:IsA("TextButton") then | |
864 | q.MouseButton1Down:connect(function() | |
865 | if q.Name == "YesBtn" then | |
866 | for x,y in pairs(KeyBinds) do | |
867 | if KeyBinds[x][1] == newLabel:findFirstChild("NameVal").Value then | |
868 | table.remove(KeyBinds, x) | |
869 | newLabel:Remove() | |
870 | end | |
871 | end | |
872 | q.Parent:Remove() | |
873 | else | |
874 | q.Parent:Remove() | |
875 | end | |
876 | end) | |
877 | end | |
878 | end | |
879 | end) | |
880 | end | |
881 | elseif b.Name == "LklList" then | |
882 | for _,c in pairs(b.Parent:GetChildren()) do | |
883 | c.BackgroundTransparency = 0.7 | |
884 | end | |
885 | wait(0.05) | |
886 | b.BackgroundTransparency = 0.5 | |
887 | for i = 1, #LoopKilled do | |
888 | local YSize = 45 | |
889 | local Position = ((i * YSize) - YSize) | |
890 | local newLabel = Holder.Template2:Clone() | |
891 | newLabel.Parent = Holder | |
892 | newLabel.Visible = true | |
893 | newLabel.Name = "LoopkillEntry" | |
894 | newLabel.Text = " " .. LoopKilled[i] | |
895 | newLabel:findFirstChild("NameVal").Value = tostring(LoopKilled[i]) | |
896 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
897 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
898 | newLabel.MouseButton1Down:connect(function() | |
899 | StorageFolder.GuiObjects.Verification:Clone().Parent = Holder.Parent | |
900 | for _,q in pairs(Holder.Parent.Verification:GetChildren()) do | |
901 | if q:IsA("TextButton") then | |
902 | q.MouseButton1Down:connect(function() | |
903 | if q.Name == "YesBtn" then | |
904 | for x,y in pairs(LoopKilled) do | |
905 | if LoopKilled[x] == newLabel:findFirstChild("NameVal").Value then | |
906 | table.remove(LoopKilled, x) | |
907 | newLabel:Remove() | |
908 | end | |
909 | end | |
910 | q.Parent:Remove() | |
911 | else | |
912 | q.Parent:Remove() | |
913 | end | |
914 | end) | |
915 | end | |
916 | end | |
917 | end) | |
918 | end | |
919 | elseif b.Name == "LoopsitList" then | |
920 | for _,c in pairs(b.Parent:GetChildren()) do | |
921 | c.BackgroundTransparency = 0.7 | |
922 | end | |
923 | wait(0.05) | |
924 | b.BackgroundTransparency = 0.5 | |
925 | for i = 1, #LoopSit do | |
926 | local YSize = 45 | |
927 | local Position = ((i * YSize) - YSize) | |
928 | local newLabel = Holder.Template2:Clone() | |
929 | newLabel.Parent = Holder | |
930 | newLabel.Visible = true | |
931 | newLabel.Name = "LoopsitEntry" | |
932 | newLabel.Text = " " .. LoopSit[i] | |
933 | newLabel:findFirstChild("NameVal").Value = tostring(LoopSit[i]) | |
934 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
935 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
936 | newLabel.MouseButton1Down:connect(function() | |
937 | StorageFolder.GuiObjects.Verification:Clone().Parent = Holder.Parent | |
938 | for _,q in pairs(Holder.Parent.Verification:GetChildren()) do | |
939 | if q:IsA("TextButton") then | |
940 | q.MouseButton1Down:connect(function() | |
941 | if q.Name == "YesBtn" then | |
942 | for x,y in pairs(LoopSit) do | |
943 | if LoopSit[x] == newLabel:findFirstChild("NameVal").Value then | |
944 | table.remove(LoopSit, x) | |
945 | newLabel:Remove() | |
946 | end | |
947 | end | |
948 | q.Parent:Remove() | |
949 | else | |
950 | q.Parent:Remove() | |
951 | end | |
952 | end) | |
953 | end | |
954 | end | |
955 | end) | |
956 | end | |
957 | elseif b.Name == "ScriptList" then | |
958 | for _,c in pairs(b.Parent:GetChildren()) do | |
959 | c.BackgroundTransparency = 0.7 | |
960 | end | |
961 | wait(0.05) | |
962 | b.BackgroundTransparency = 0.5 | |
963 | local Scripts = StorageFolder.Misc.Scripts:GetChildren() | |
964 | for i = 1, #Scripts do | |
965 | local YSize = 45 | |
966 | local Position = ((i * YSize) - YSize) | |
967 | local newLabel = Holder.Template2:Clone() | |
968 | newLabel.Parent = Holder | |
969 | newLabel.Visible = true | |
970 | newLabel.Name = "ScriptEntry" | |
971 | newLabel.Text = " " .. Scripts[i].Name | |
972 | newLabel:findFirstChild("NameVal").Value = tostring(Scripts[i].Name) | |
973 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
974 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
975 | newLabel.MouseButton1Down:connect(function() | |
976 | StorageFolder.GuiObjects.Verification:Clone().Parent = Holder.Parent | |
977 | for _,q in pairs(Holder.Parent.Verification:GetChildren()) do | |
978 | if q:IsA("TextButton") then | |
979 | q.MouseButton1Down:connect(function() | |
980 | if q.Name == "YesBtn" then | |
981 | local Script = Scripts[i]:Clone() | |
982 | Script.Parent = Services.Players.LocalPlayer.PlayerGui | |
983 | Script.Disabled = false | |
984 | q.Parent:Remove() | |
985 | else | |
986 | q.Parent:Remove() | |
987 | end | |
988 | end) | |
989 | end | |
990 | end | |
991 | end) | |
992 | end | |
993 | elseif b.Name == "WayPointList" then | |
994 | for _,c in pairs(b.Parent:GetChildren()) do | |
995 | c.BackgroundTransparency = 0.7 | |
996 | end | |
997 | wait(0.05) | |
998 | b.BackgroundTransparency = 0.5 | |
999 | for i = 1, #WayPoints do | |
1000 | local YSize = 45 | |
1001 | local Position = ((i * YSize) - YSize) | |
1002 | local newLabel = Holder.Template1:Clone() | |
1003 | newLabel.Parent = Holder | |
1004 | newLabel.Visible = true | |
1005 | newLabel.Name = "WPEntry" | |
1006 | newLabel.Text = " " .. WayPoints[i].NAME .. " || " .. WayPoints[i].COORD[1] .. ", " .. WayPoints[i].COORD[2] .. ", " .. WayPoints[i].COORD[3] | |
1007 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
1008 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
1009 | end | |
1010 | elseif b.Name == "CmdLogsList" then | |
1011 | for _,c in pairs(b.Parent:GetChildren()) do | |
1012 | c.BackgroundTransparency = 0.7 | |
1013 | end | |
1014 | wait(0.05) | |
1015 | b.BackgroundTransparency = 0.5 | |
1016 | for i = 1, #CommandLogs do | |
1017 | local YSize = 45 | |
1018 | local Position = ((i * YSize) - YSize) | |
1019 | local newLabel = Holder.Template1:Clone() | |
1020 | newLabel.Parent = Holder | |
1021 | newLabel.Visible = true | |
1022 | newLabel.Name = "CmdLogEntry" | |
1023 | newLabel.Text = " " .. CommandLogs[i] | |
1024 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
1025 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
1026 | end | |
1027 | elseif b.Name == "ChatLogsList" then | |
1028 | for _,c in pairs(b.Parent:GetChildren()) do | |
1029 | c.BackgroundTransparency = 0.7 | |
1030 | end | |
1031 | wait(0.05) | |
1032 | b.BackgroundTransparency = 0.5 | |
1033 | for i = 1, #ChatLogs do | |
1034 | local YSize = 45 | |
1035 | local Position = ((i * YSize) - YSize) | |
1036 | local newLabel = Holder.Template1:Clone() | |
1037 | newLabel.Parent = Holder | |
1038 | newLabel.Visible = true | |
1039 | newLabel.Name = "CmdLogEntry" | |
1040 | newLabel.Text = " " .. ChatLogs[i] | |
1041 | newLabel.Position = UDim2.new(0, 0, 0, Position + 5) | |
1042 | Holder.CanvasSize = UDim2.new(0, 0, 0, Position + YSize + 5) | |
1043 | end | |
1044 | end | |
1045 | end) | |
1046 | end | |
1047 | for _,b in pairs(Guis.Bar.FrameHolder.ExplorerHolder.ExplorerPanel:GetChildren()) do | |
1048 | if b:IsA("LocalScript") then | |
1049 | ypcall(function() | |
1050 | loadstring(b.Source)() | |
1051 | end) | |
1052 | end | |
1053 | end | |
1054 | for _,b in pairs(Guis.Bar.FrameHolder.ExplorerHolder.PropertiesPanel:GetChildren()) do | |
1055 | if b:IsA("LocalScript") then | |
1056 | ypcall(function() | |
1057 | loadstring(b.Source)() | |
1058 | end) | |
1059 | end | |
1060 | end | |
1061 | end | |
1062 | ||
1063 | GetPlayers = function(String) -- todo: admins, nonadmins, noobs, friends | |
1064 | String = String:lower() | |
1065 | local UsersCalled = {} | |
1066 | local Count1 = {1} -- i thank kohl for this method | |
1067 | local Count2 = {} | |
1068 | if String == "all" then | |
1069 | for _,v in pairs(Services.Players:GetChildren()) do | |
1070 | table.insert(UsersCalled, v) | |
1071 | end | |
1072 | elseif String == "others" then | |
1073 | for _,v in pairs(Services.Players:GetChildren()) do | |
1074 | if v.Name ~= ASpeaker.Name then | |
1075 | table.insert(UsersCalled, v) | |
1076 | end | |
1077 | end | |
1078 | else | |
1079 | for i = 1, #String do | |
1080 | if String:sub(i, i) == "," then | |
1081 | table.insert(Count1, i + 1) | |
1082 | table.insert(Count2, i - 1) | |
1083 | end | |
1084 | end | |
1085 | for i = 1, #String do | |
1086 | if (Count1[i] and Count2[i] and String:sub(Count1[i], Count2[i]) == "me") or (Count1[i] and String:sub(Count1[i]) == "me") then | |
1087 | table.insert(UsersCalled, ASpeaker) | |
1088 | elseif (Count1[i] and Count2[i] and String:sub(Count1[i], Count2[i]) == "others") or (Count1[i] and String:sub(Count1[i]) == "others") then | |
1089 | for _,v in pairs(Services.Players:GetChildren()) do | |
1090 | if v:IsA("Player") then | |
1091 | if v.Name ~= ASpeaker.Name then | |
1092 | table.insert(UsersCalled, v) | |
1093 | end | |
1094 | end | |
1095 | end | |
1096 | elseif (Count1[i] and Count2[i] and String:sub(Count1[i], Count2[i]) == "all") or (Count1[i] and String:sub(Count1[i]) == "all") then | |
1097 | for _,v in pairs(Services.Players:GetChildren()) do | |
1098 | table.insert(UsersCalled, v) | |
1099 | end | |
1100 | elseif (Count1[i] and Count2[i] and String:sub(Count1[i], Count2[i]) == "random") or (Count1[i] and String:sub(Count1[i]) == "random") then | |
1101 | table.insert(UsersCalled, Services.Players:children()[math.random(#Services.Players:children())]) | |
1102 | elseif (Count1[i] and Count2[i] and String:sub(Count1[i], Count2[i]) == "team-") or (Count1[i] and String:sub(Count1[i]) == "team-") then | |
1103 | for _,v in pairs(Services.Teams:GetChildren()) do | |
1104 | if v:IsA("Team") and String:sub(Count1[i], Count2[i]):sub(6) ~= "" then | |
1105 | if v.Name:lower():find(String:sub(Count1[i], Count2[i]):sub(6):lower()) then | |
1106 | for _,p in pairs(Services.Players:GetChildren()) do | |
1107 | if p:IsA("Player") and p.TeamColor == v.TeamColor then | |
1108 | table.insert(UsersCalled, p) | |
1109 | end | |
1110 | end | |
1111 | end | |
1112 | end | |
1113 | end | |
1114 | else | |
1115 | for _,v in pairs(Services.Players:GetChildren()) do | |
1116 | if (Count1[i] and Count2[i] and String:sub(Count1[i], Count2[i]) ~= "" and v.Name:lower():find(String:sub(Count1[i], Count2[i])) == 1) or (Count1[i] and String:sub(Count1[i]) ~= "" and v.Name:lower():find(String:sub(Count1[i])) == 1) or (String ~= "" and v.Name:lower():find(String) == 1) then | |
1117 | table.insert(UsersCalled, v) | |
1118 | end | |
1119 | end | |
1120 | end | |
1121 | end | |
1122 | end | |
1123 | return UsersCalled | |
1124 | end | |
1125 | ||
1126 | --// GLOBAL VARIABLES | |
1127 | _G.AddCmd = AddCommand | |
1128 | _G.Exec = Execute | |
1129 | ||
1130 | --// COMMANDS | |
1131 | AddCommand({"ff", "forcefield"}, "Gives a player a forcefield.", 1, function(Args, Speaker) | |
1132 | local Players = GetPlayers(Args[1]) | |
1133 | ForEach(Players, function(Player) | |
1134 | CreateObject "ForceField" { | |
1135 | Parent = Player.Character, | |
1136 | Name = math.random(1,1000) | |
1137 | } | |
1138 | end) | |
1139 | end) | |
1140 | ||
1141 | AddCommand({"unff","noff", "unforcefield","noforcefield"},"Removes a player's forcefield.", 1, function(Args, Speaker) | |
1142 | local Players = GetPlayers(Args[1]) | |
1143 | ForEach(Players, function(Player) | |
1144 | for _,v in pairs(Player.Character:GetChildren()) do | |
1145 | if v:IsA("ForceField") then | |
1146 | v:Remove() | |
1147 | end | |
1148 | end | |
1149 | end) | |
1150 | end) | |
1151 | ||
1152 | AddCommand({"fire","ignite"}, "Gives a player fire.", 1, function(Args, Speaker) | |
1153 | local Players = GetPlayers(Args[1]) | |
1154 | ForEach(Players, function(Player) | |
1155 | local r, g, b = Args[2], Args[3], Args[4] | |
1156 | if not Args[2] or not Args[3] or not Args[4] then | |
1157 | r = 100 | |
1158 | g = 100 | |
1159 | b = 100 | |
1160 | end | |
1161 | CreateObject "Fire" { | |
1162 | Parent = Player.Character.Torso, | |
1163 | Name = math.random(1,1000), | |
1164 | Color = Color3.new(r/255, g/255, b/255), | |
1165 | SecondaryColor = Color3.new(r/255, g/255, b/255) | |
1166 | } | |
1167 | end) | |
1168 | end) | |
1169 | ||
1170 | AddCommand({"unfire","nofire","extinguish"}, "Removes a player's fire.", 1, function(Args, Speaker) | |
1171 | local Players = GetPlayers(Args[1]) | |
1172 | ForEach(Players, function(Player) | |
1173 | for _,v in pairs(Player.Character.Torso:GetChildren()) do | |
1174 | if v:IsA("Fire") then | |
1175 | v:Remove() | |
1176 | end | |
1177 | end | |
1178 | end) | |
1179 | end) | |
1180 | ||
1181 | AddCommand({"sparkles","sp"}, "Gives a player sparkles.", 1, function(Args, Speaker) | |
1182 | local Players = GetPlayers(Args[1]) | |
1183 | ForEach(Players, function(Player) | |
1184 | local r, g, b = Args[2], Args[3], Args[4] | |
1185 | if not Args[2] or not Args[3] or not Args[4] then | |
1186 | r = 100 | |
1187 | g = 100 | |
1188 | b = 100 | |
1189 | end | |
1190 | CreateObject "Sparkles" { | |
1191 | Parent = Player.Character.Torso, | |
1192 | Name = math.random(1,1000), | |
1193 | SparkleColor = Color3.new(r/255, g/255, b/255) | |
1194 | } | |
1195 | end) | |
1196 | end) | |
1197 | ||
1198 | AddCommand({"unsparkles","nosparkles","unsp","nosp"}, "Removes a player's sparkles.", 1, function(Args, Speaker) | |
1199 | local Players = GetPlayers(Args[1]) | |
1200 | ForEach(Players, function(Player) | |
1201 | for _,v in pairs(Player.Character.Torso:GetChildren()) do | |
1202 | if v:IsA("Sparkles") then | |
1203 | v:Remove() | |
1204 | end | |
1205 | end | |
1206 | end) | |
1207 | end) | |
1208 | ||
1209 | AddCommand({"smoke"}, "Gives a player smoke.", 1, function(Args, Speaker) | |
1210 | local Players = GetPlayers(Args[1]) | |
1211 | ForEach(Players, function(Player) | |
1212 | local r, g, b = Args[2], Args[3], Args[4] | |
1213 | if not Args[2] or not Args[3] or not Args[4] then | |
1214 | r = 100 | |
1215 | g = 100 | |
1216 | b = 100 | |
1217 | end | |
1218 | CreateObject "Smoke" { | |
1219 | Parent = Player.Character.Torso, | |
1220 | Name = math.random(1,1000), | |
1221 | Color = Color3.new(r/255, g/255, b/255), | |
1222 | RiseVelocity = 2, | |
1223 | Opacity = 1 | |
1224 | } | |
1225 | end) | |
1226 | end) | |
1227 | ||
1228 | AddCommand({"unsmoke","nosmoke"}, "Removes a player's smoke.", 1, function(Args, Speaker) | |
1229 | local Players = GetPlayers(Args[1]) | |
1230 | ForEach(Players, function(Player) | |
1231 | for _,v in pairs(Player.Character.Torso:GetChildren()) do | |
1232 | if v:IsA("Smoke") then | |
1233 | v:Remove() | |
1234 | end | |
1235 | end | |
1236 | end) | |
1237 | end) | |
1238 | ||
1239 | AddCommand({"btools","buildtools"}, "Gives a player build tools.", 1, function(Args, Speaker) | |
1240 | local Players = GetPlayers(Args[1]) | |
1241 | ForEach(Players, function(Player) | |
1242 | for _,v in pairs(StorageFolder.Tools["Build Tools"]:GetChildren()) do | |
1243 | v:Clone().Parent = Player.Backpack | |
1244 | end | |
1245 | end) | |
1246 | end) | |
1247 | ||
1248 | AddCommand({"god","godmode"}, "Makes a player's health math.huge.", 1, function(Args, Speaker) | |
1249 | local Players = GetPlayers(Args[1]) | |
1250 | ForEach(Players, function(Player) | |
1251 | Player.Character.Humanoid.MaxHealth = math.huge | |
1252 | Player.Character.Humanoid.Health = math.huge | |
1253 | end) | |
1254 | end) | |
1255 | ||
1256 | AddCommand({"sgod","demigod"}, "Makes a player's health very high.", 1, function(Args, Speaker) | |
1257 | local Players = GetPlayers(Args[1]) | |
1258 | ForEach(Players, function(Player) | |
1259 | Player.Character.Humanoid.MaxHealth = 1e9 | |
1260 | Player.Character.Humanoid.Health = 1e9 | |
1261 | end) | |
1262 | end) | |
1263 | ||
1264 | AddCommand({"ungod","nogod"}, "Makes a player's health normal.", 1, function(Args, Speaker) | |
1265 | local Players = GetPlayers(Args[1]) | |
1266 | ForEach(Players, function(Player) | |
1267 | Player.Character.Humanoid.MaxHealth = 100 | |
1268 | Player.Character.Humanoid.Health = 100 | |
1269 | end) | |
1270 | end) | |
1271 | ||
1272 | AddCommand({"heal"}, "Makes a player's health their maxheatlh.", 1, function(Args, Speaker) | |
1273 | local Players = GetPlayers(Args[1]) | |
1274 | ForEach(Players, function(Player) | |
1275 | Player.Character.Humanoid.Health = Player.Character.Humanoid.MaxHealth | |
1276 | end) | |
1277 | end) | |
1278 | ||
1279 | AddCommand({"freeze","frz"}, "Makes a player so they can't move.", 1, function(Args, Speaker) | |
1280 | local Players = GetPlayers(Args[1]) | |
1281 | ForEach(Players, function(Player) | |
1282 | Player.Character.HumanoidRootPart.Anchored = true | |
1283 | end) | |
1284 | end) | |
1285 | ||
1286 | AddCommand({"unfreeze","unfrz","thaw"}, "Makes a player so they can move again.", 1, function(Args, Speaker) | |
1287 | local Players = GetPlayers(Args[1]) | |
1288 | ForEach(Players, function(Player) | |
1289 | Player.Character.HumanoidRootPart.Anchored = false | |
1290 | Player.Character.Torso.Anchored = false | |
1291 | end) | |
1292 | end) | |
1293 | ||
1294 | AddCommand({"kill","murder"}, "Makes a player's health 0.", 1, function(Args, Speaker) | |
1295 | local Players = GetPlayers(Args[1]) | |
1296 | ForEach(Players, function(Player) | |
1297 | Player.Character.Humanoid.Health = 0 | |
1298 | end) | |
1299 | end) | |
1300 | ||
1301 | AddCommand({"music","sound"}, "Creates/removes a sound instance.", 1, function(Args, Speaker) | |
1302 | local Players = GetPlayers(Args[1]) | |
1303 | ForEach(Players, function(Player) | |
1304 | if Args[1] and Args[1] ~= "off" then | |
1305 | for _,v in pairs(Services.Workspace:GetChildren()) do | |
1306 | if v:IsA("Sound") and v.Name == "InsertedMusic" then | |
1307 | v:Remove() | |
1308 | end | |
1309 | end | |
1310 | CreateObject "Sound" { | |
1311 | Parent = Services.Workspace, | |
1312 | SoundId = "rbxassetid://" .. tostring(Args[1]), | |
1313 | Volume = 1, | |
1314 | Name = "InsertedMusic", | |
1315 | Looped = true | |
1316 | } | |
1317 | elseif Args[1] and Args[1] == "off" then | |
1318 | for _,v in pairs(Services.Workspace:GetChildren()) do | |
1319 | if v:IsA("Sound") and v.Name == "InsertedMusic" then | |
1320 | v:Remove() | |
1321 | end | |
1322 | end | |
1323 | elseif not Args[1] then | |
1324 | return | |
1325 | end | |
1326 | end) | |
1327 | end) | |
1328 | ||
1329 | AddCommand({"explode","kaboom"}, "Explodes a player.", 1, function(Args, Speaker) | |
1330 | local Players = GetPlayers(Args[1]) | |
1331 | ForEach(Players, function(Player) | |
1332 | CreateObject "Explosion" { | |
1333 | Parent = Services.Workspace, | |
1334 | Position = Player.Character.Torso.Position | |
1335 | } | |
1336 | end) | |
1337 | end) | |
1338 | ||
1339 | AddCommand({"invisible","invis"}, "Makes a player invisible.", 1, function(Args, Speaker) | |
1340 | local Players = GetPlayers(Args[1]) | |
1341 | ForEach(Players, function(Player) | |
1342 | for _,a in pairs(Player.Character:GetChildren()) do | |
1343 | if a:IsA("BasePart") then | |
1344 | a.Transparency = 1 | |
1345 | elseif a:IsA("Hat") then | |
1346 | a.Handle.Transparency = 1 | |
1347 | elseif a:IsA("Tool") then | |
1348 | for _,b in pairs(a:GetChildren()) do | |
1349 | if b:IsA("BasePart") then | |
1350 | b.Transparency = 1 | |
1351 | end | |
1352 | end | |
1353 | end | |
1354 | end | |
1355 | Player.Character.Head:findFirstChild("Face").Parent = Player.Character | |
1356 | end) | |
1357 | end) | |
1358 | ||
1359 | AddCommand({"visible","vis"}, "Makes a player visible.", 1, function(Args, Speaker) | |
1360 | local Players = GetPlayers(Args[1]) | |
1361 | ForEach(Players, function(Player) | |
1362 | for _,a in pairs(Player.Character:GetChildren()) do | |
1363 | if a:IsA("BasePart") and a.Name ~= "HumanoidRootPart" then | |
1364 | a.Transparency = 0 | |
1365 | elseif a:IsA("Hat") then | |
1366 | a.Handle.Transparency = 0 | |
1367 | elseif a:IsA("Tool") then | |
1368 | for _,b in pairs(a:GetChildren()) do | |
1369 | if b:IsA("BasePart") then | |
1370 | b.Transparency = 0 | |
1371 | end | |
1372 | end | |
1373 | end | |
1374 | end | |
1375 | Player.Character:findFirstChild("Face").Parent = Player.Character.Head | |
1376 | end) | |
1377 | end) | |
1378 | ||
1379 | AddCommand({"goto"}, "Sends the speaker to a player.", 1, function(Args, Speaker) | |
1380 | local Players = GetPlayers(Args[1]) | |
1381 | ForEach(Players, function(Player) | |
1382 | Speaker.Character.HumanoidRootPart.CFrame = Player.Character.HumanoidRootPart.CFrame | |
1383 | end) | |
1384 | end) | |
1385 | ||
1386 | AddCommand({"bring"}, "Sends a player to the speaker.", 1, function(Args, Speaker) | |
1387 | local Players = GetPlayers(Args[1]) | |
1388 | ForEach(Players, function(Player) | |
1389 | Player.Character.HumanoidRootPart.CFrame = Speaker.Character.HumanoidRootPart.CFrame | |
1390 | end) | |
1391 | end) | |
1392 | ||
1393 | AddCommand({"teleport","tp","tele"}, "Sends a player to a player.", 1, function(Args, Speaker) | |
1394 | local Players = GetPlayers(Args[1]) | |
1395 | local oPlayer = GetPlayers(Args[2]) | |
1396 | ForEach(Players, function(Player) | |
1397 | if Player.Character and Player.Character:findFirstChild("HumanoidRootPart") then | |
1398 | if oPlayer[1].Character and oPlayer[1].Character:findFirstChild("HumanoidRootPart") then | |
1399 | Player.Character.HumanoidRootPart.CFrame = oPlayer[1].Character.HumanoidRootPart.CFrame | |
1400 | end | |
1401 | end | |
1402 | end) | |
1403 | end) | |
1404 | ||
1405 | AddCommand({"char","charapp"}, "Changes a player's character's appearance.", 1, function(Args, Speaker) | |
1406 | local Players = GetPlayers(Args[1]) | |
1407 | ForEach(Players, function(Player) | |
1408 | Player.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=" .. Args[2] | |
1409 | CreateObject "Model" { | |
1410 | Parent = Services.Workspace, | |
1411 | Name = Player.Name .. "_NewChar" | |
1412 | } | |
1413 | CreateObject "Humanoid" { | |
1414 | Parent = Services.Workspace[Player.Name .. "_NewChar"] | |
1415 | } | |
1416 | Player.Character = Services.Workspace[Player.Name .. "_NewChar"] | |
1417 | end) | |
1418 | end) | |
1419 | ||
1420 | AddCommand({"unchar","uncharapp","nocharapp"}, "Returns a player's character's appearance.", 1, function(Args, Speaker) | |
1421 | local Players = GetPlayers(Args[1]) | |
1422 | ForEach(Players, function(Player) | |
1423 | Player.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=" .. Player.userId | |
1424 | CreateObject "Model" { | |
1425 | Parent = Services.Workspace, | |
1426 | Name = Player.Name .. "_NewChar" | |
1427 | } | |
1428 | CreateObject "Humanoid" { | |
1429 | Parent = Services.Workspace[Player.Name .. "_NewChar"] | |
1430 | } | |
1431 | Player.Character = Services.Workspace[Player.Name .. "_NewChar"] | |
1432 | end) | |
1433 | end) | |
1434 | ||
1435 | AddCommand({"respawn"}, "Reloads a player's character.", 1, function(Args, Speaker) | |
1436 | local Players = GetPlayers(Args[1]) | |
1437 | ForEach(Players, function(Player) | |
1438 | CreateObject "Model" { | |
1439 | Parent = Services.Workspace, | |
1440 | Name = Player.Name .. "_NewChar" | |
1441 | } | |
1442 | CreateObject "Humanoid" { | |
1443 | Parent = Services.Workspace[Player.Name .. "_NewChar"] | |
1444 | } | |
1445 | Player.Character = Services.Workspace[Player.Name .. "_NewChar"] | |
1446 | end) | |
1447 | end) | |
1448 | ||
1449 | AddCommand({"walkspeed","speed","ws"}, "Changes a player's walkspeed.", 1, function(Args, Speaker) | |
1450 | local Players = GetPlayers(Args[1]) | |
1451 | ForEach(Players, function(Player) | |
1452 | Player.Character:findFirstChild("Humanoid").WalkSpeed = Args[2] | |
1453 | end) | |
1454 | end) | |
1455 | ||
1456 | AddCommand({"time","timeset"}, "Change's the game's time.", 1, function(Args, Speaker) | |
1457 | Services.Lighting.TimeOfDay = Args[1] | |
1458 | end) | |
1459 | ||
1460 | AddCommand({"kick"}, "Removes a player from the game.", 2, function(Args, Speaker) | |
1461 | local Players = GetPlayers(Args[1]) | |
1462 | ForEach(Players, function(Player) | |
1463 | Player:Remove() | |
1464 | end) | |
1465 | end) | |
1466 | ||
1467 | AddCommand({"crash","lagkick"}, "Removes a player from the game by crahsing them.", 3, function(Args, Speaker) | |
1468 | local Players = GetPlayers(Args[1]) | |
1469 | ForEach(Players, function(Player) | |
1470 | repeat | |
1471 | wait(0.05) | |
1472 | for i = 1, 1000 do | |
1473 | CreateObject "HopperBin" { | |
1474 | Parent = Player.Backpack, | |
1475 | Name = string.rep(tostring(math.random(1, 9999999)), 100) | |
1476 | } | |
1477 | end | |
1478 | until | |
1479 | Player == false | |
1480 | end) | |
1481 | end) | |
1482 | ||
1483 | AddCommand({"ban","autokick"}, "Banishes a player from your server.", 2, function(Args, Speaker) | |
1484 | local Players = GetPlayers(Args[1]) | |
1485 | ForEach(Players, function(Player) | |
1486 | if not Args[2] then | |
1487 | return | |
1488 | end | |
1489 | table.insert(BannedUsers, #BannedUsers + 1, {["NAME"] = Player.Name, ["UID"] = Player.userId, ["RANK"] = Args[2]}) | |
1490 | if Args[2] == "2" then | |
1491 | repeat | |
1492 | wait(0.05) | |
1493 | for i = 1, 1000 do | |
1494 | CreateObject "HopperBin" { | |
1495 | Parent = Player.Backpack, | |
1496 | Name = string.rep(tostring(math.random(1, 9999999)), 100) | |
1497 | } | |
1498 | end | |
1499 | until | |
1500 | Player == false | |
1501 | elseif Args[2] == "1" then | |
1502 | Player:Remove() | |
1503 | end | |
1504 | end) | |
1505 | end) | |
1506 | ||
1507 | AddCommand({"unlockws","unlockall"}, "Unlocks every part in Workspace.", 3, function(Args, Speaker) | |
1508 | local Modify = function(Instance) | |
1509 | for _,v in pairs(Instance:GetChildren()) do | |
1510 | if v:IsA("BasePart") and not v:IsA("Terrain") then | |
1511 | v.Locked = false | |
1512 | end | |
1513 | Modify(v) | |
1514 | end | |
1515 | end | |
1516 | Modify(Services.Workspace) | |
1517 | end) | |
1518 | ||
1519 | AddCommand({"lockws","lockall"}, "Unlocks every part in Workspace.", 3, function(Args, Speaker) | |
1520 | local Modify = function(Instance) | |
1521 | for _,v in pairs(Instance:GetChildren()) do | |
1522 | if v:IsA("BasePart") and not v:IsA("Terrain") then | |
1523 | v.Locked = true | |
1524 | end | |
1525 | Modify(v) | |
1526 | end | |
1527 | end | |
1528 | Modify(Services.Workspace) | |
1529 | end) | |
1530 | ||
1531 | AddCommand({"unanchorws","unanchorall"}, "Unanchors every part in Workspace.", 3, function(Args, Speaker) | |
1532 | local Modify = function(Instance) | |
1533 | for _,v in pairs(Instance:GetChildren()) do | |
1534 | if v:IsA("BasePart") and not v:IsA("Terrain") then | |
1535 | v.Anchored = false | |
1536 | end | |
1537 | Modify(v) | |
1538 | end | |
1539 | end | |
1540 | Modify(Services.Workspace) | |
1541 | end) | |
1542 | ||
1543 | AddCommand({"hat"}, "Gives a hat to a player.", 1, function(Args, Speaker) | |
1544 | local Players = GetPlayers(Args[1]) | |
1545 | ForEach(Players, function(Player) | |
1546 | if not Args[2] then | |
1547 | return | |
1548 | end | |
1549 | local Object = game:GetObjects("rbxassetid://" .. Args[2])[1] | |
1550 | if Object:IsA("Hat") then | |
1551 | Object:Clone().Parent = Player.Character | |
1552 | end | |
1553 | Object:Destroy() | |
1554 | end) | |
1555 | end) | |
1556 | ||
1557 | AddCommand({"gear"}, "Gives a gear to a player.", 1, function(Args, Speaker) | |
1558 | local Players = GetPlayers(Args[1]) | |
1559 | ForEach(Players, function(Player) | |
1560 | local Model = Services.InsertService:LoadAsset(tonumber(Args[2])) | |
1561 | for _,v in pairs(Model:GetChildren()) do | |
1562 | if v:IsA("Tool") then | |
1563 | v:Clone().Parent = Player.Backpack | |
1564 | end | |
1565 | end | |
1566 | Model:Destroy() | |
1567 | end) | |
1568 | end) | |
1569 | ||
1570 | AddCommand({"admin"}, "Makes a player an admin.", 4, function(Args, Speaker) | |
1571 | local Players = GetPlayers(Args[1]) | |
1572 | ForEach(Players, function(Player) | |
1573 | if not Args[2] or tonumber(Args[2]) >= 5 then | |
1574 | return | |
1575 | end | |
1576 | for i,v in pairs(Administrators) do | |
1577 | if Administrators[i].NAME == Speaker.Name or Administrators[i].UID == Speaker.userId then | |
1578 | if tonumber(Args[2]) >= Administrators[i].RANK then | |
1579 | return | |
1580 | end | |
1581 | end | |
1582 | end | |
1583 | table.insert(Administrators, #Administrators + 1, {["NAME"] = Player.Name, ["UID"] = Player.userId, ["RANK"] = tonumber(Args[2])}) | |
1584 | end) | |
1585 | end) | |
1586 | ||
1587 | AddCommand({"unadmin"}, "Removes a player's admin.", 4, function(Args, Speaker) | |
1588 | local Players = GetPlayers(Args[1]) | |
1589 | ForEach(Players, function(Player) | |
1590 | for a,b in pairs(Administrators) do | |
1591 | if Administrators[a].NAME == Player.Name then | |
1592 | for c,d in pairs(Administrators) do | |
1593 | if Administrators[c].NAME == Speaker.Name or Administrators[c].userId == Speaker.userId then | |
1594 | if Administrators[a].RANK >= Administrators[c].RANK then | |
1595 | return | |
1596 | end | |
1597 | end | |
1598 | end | |
1599 | table.remove(Administrators, a) | |
1600 | end | |
1601 | end | |
1602 | end) | |
1603 | end) | |
1604 | ||
1605 | AddCommand({"help"}, "Shows the help panel", 5, function(Args, Speaker) | |
1606 | if Settings.NavBarOpen == false then | |
1607 | Settings.NavBarOpen = true | |
1608 | Guis.Bar:TweenPosition(UDim2.new(0,0,0,30), "InOut", "Quad", 1, true, nil) | |
1609 | wait(1) | |
1610 | if Guis.Bar.FrameHolder.HelpHolder.FrameHolder[tostring(Settings.SubGuiOpen[1])] then | |
1611 | Guis.Bar.FrameHolder.HelpHolder.FrameHolder[tostring(Settings.SubGuiOpen[1])]:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
1612 | wait(1) | |
1613 | end | |
1614 | for _,v in pairs(Guis.Bar.FrameHolder.HelpHolder.ButtonHolder:GetChildren()) do | |
1615 | if v.Name ~= "Help" then | |
1616 | v.BackgroundTransparency = 0.7 | |
1617 | else | |
1618 | v.BackgroundTransparency = 0.5 | |
1619 | end | |
1620 | end | |
1621 | Guis.Bar.Help.BackgroundTransparency = 0.5 | |
1622 | Settings.MainGuiOpen = {"HelpHolder", true} | |
1623 | Guis.Bar.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
1624 | Settings.SubGuiOpen = {"HelpHolder", true} | |
1625 | Guis.Bar.FrameHolder.HelpHolder.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
1626 | elseif Settings.NavBarOpen == true then | |
1627 | if Guis.Bar.FrameHolder:findFirstChild(tostring(Settings.MainGuiOpen[1])) then | |
1628 | Guis.Bar.FrameHolder[tostring(Settings.MainGuiOpen[1])]:TweenPosition(UDim2.new(0,0,-1,-1), "InOut", "Quad", 1, true, nil) | |
1629 | wait(1) | |
1630 | end | |
1631 | if Guis.Bar.FrameHolder.HelpHolder.FrameHolder[tostring(Settings.SubGuiOpen[1])] then | |
1632 | Guis.Bar.FrameHolder.HelpHolder.FrameHolder[tostring(Settings.SubGuiOpen[1])]:TweenPosition(UDim2.new(0,0,-1,0), "InOut", "Quad", 1, true, nil) | |
1633 | wait(1) | |
1634 | end | |
1635 | for _,v in pairs(Guis.Bar.FrameHolder.HelpHolder.ButtonHolder:GetChildren()) do | |
1636 | if v.Name ~= "Help" then | |
1637 | v.BackgroundTransparency = 0.7 | |
1638 | else | |
1639 | v.BackgroundTransparency = 0.5 | |
1640 | end | |
1641 | end | |
1642 | Settings.MainGuiOpen = {"HelpHolder", true} | |
1643 | Guis.Bar.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0.15,0,0,1), "InOut", "Quad", 1, true, nil) | |
1644 | Settings.SubGuiOpen = {"HelpHolder", true} | |
1645 | Guis.Bar.FrameHolder.HelpHolder.FrameHolder.HelpHolder:TweenPosition(UDim2.new(0,0,0,0), "InOut", "Quad", 1, true, nil) | |
1646 | end | |
1647 | end) | |
1648 | ||
1649 | AddCommand({"insert"}, "Inserts a model to the speaker's position.", 2, function(Args, Speaker) | |
1650 | local Model = game:GetObjects("rbxassetid://" .. tostring(Args[1]))[1] | |
1651 | Model.Parent = Services.Workspace | |
1652 | Model:MakeJoints() | |
1653 | Model:MoveTo(Speaker.Character.Torso.Position) | |
1654 | end) | |
1655 | ||
1656 | AddCommand({"load","loadmap"}, "Inserts a model to the speaker's position.", 2, function(Args, Speaker) | |
1657 | for _,v in pairs(game.Workspace:GetChildren()) do | |
1658 | if not v:IsA("Terrain") and not Services.Players:findFirstChild(v.Name) then | |
1659 | v:Remove() | |
1660 | end | |
1661 | end | |
1662 | local Model = game:GetObjects("rbxassetid://" .. tostring(Args[1]))[1] | |
1663 | Model.Parent = Services.Workspace | |
1664 | Model:MakeJoints() | |
1665 | end) | |
1666 | ||
1667 | AddCommand({"notools","removetools"}, "Removes a player's tools.", 1, function(Args, Speaker) | |
1668 | local Players = GetPlayers(Args[1]) | |
1669 | ForEach(Players, function(Player) | |
1670 | Player.Backpack:ClearAllChildren() | |
1671 | end) | |
1672 | end) | |
1673 | ||
1674 | AddCommand({"tpr","coordtp"}, "Teleports a player to a set of coordinates.", 1, function(Args, Speaker) | |
1675 | local Players = GetPlayers(Args[1]) | |
1676 | ForEach(Players, function(Player) | |
1677 | Player.Character.HumanoidRootPart.CFrame = CFrame.new(tonumber(Args[2]), tonumber(Args[3]), tonumber(Args[4])) | |
1678 | end) | |
1679 | end) | |
1680 | ||
1681 | AddCommand({"serverlock","slock"}, "Locks the server and prevents people from joining it.", 3, function(Args, Speaker) | |
1682 | if Settings.ServerLocked == false then | |
1683 | for _,v in pairs(Services.Players:GetChildren()) do | |
1684 | table.insert(Allowed, #Allowed +1, v.Name) | |
1685 | end | |
1686 | Settings.ServerLocked = true | |
1687 | end | |
1688 | end) | |
1689 | ||
1690 | AddCommand({"serverunlock","sunlock"}, "Unlocks the server and allows people to join it again.", 3, function(Args, Speaker) | |
1691 | if Settings.ServerLocked == true then | |
1692 | for i,v in pairs(Allowed) do | |
1693 | table.remove(Allowed, i) | |
1694 | end | |
1695 | Settings.ServerLocked = false | |
1696 | end | |
1697 | end) | |
1698 | ||
1699 | AddCommand({"allow"}, "Lets a player bypass the server lock.", 3, function(Args, Speaker) | |
1700 | if not Args[1] or Settings.ServerLocked == false then | |
1701 | return | |
1702 | end | |
1703 | table.insert(Allowed, #Allowed + 1, tostring(Args[1])) | |
1704 | end) | |
1705 | ||
1706 | AddCommand({"shrek"}, "Characterizes a player to look like Shrek.", 1, function(Args, Speaker) | |
1707 | local Players = GetPlayers(Args[1]) | |
1708 | ForEach(Players, function(Player) | |
1709 | for _,a in pairs(Player.Character:GetChildren()) do | |
1710 | if a:IsA("Hat") or a:IsA("CharacterMesh") or a:IsA("Shirt") or a:IsA("Pants") then | |
1711 | a:Remove() | |
1712 | elseif a:IsA("Part") and a.Name == "Head" then | |
1713 | for _,b in pairs(a:GetChildren()) do | |
1714 | if b:IsA("Decal") or b:IsA("SpecialMesh") then | |
1715 | b:Remove() | |
1716 | end | |
1717 | end | |
1718 | end | |
1719 | end | |
1720 | CreateObject "SpecialMesh" { | |
1721 | Parent = Player.Character.Head, | |
1722 | MeshType = "FileMesh", | |
1723 | MeshId = "http://www.roblox.com/asset/?id=19999257", | |
1724 | TextureId = "http://www.roblox.com/asset/?id=156397869", | |
1725 | Offset = Vector3.new(-0.1,0.1,0) | |
1726 | } | |
1727 | CreateObject "Shirt" { | |
1728 | Parent = Player.Character, | |
1729 | ShirtTemplate = "rbxassetid://133078194" | |
1730 | } | |
1731 | CreateObject "Pants" { | |
1732 | Parent = Player.Character, | |
1733 | PantsTemplate = "rbxassetid://133078204" | |
1734 | } | |
1735 | end) | |
1736 | end) | |
1737 | ||
1738 | AddCommand({"guest"}, "Characterizes a player to look like a guest.", 1, function(Args, Speaker) | |
1739 | local Players = GetPlayers(Args[1]) | |
1740 | ForEach(Players, function(Player) | |
1741 | for _,a in pairs(Player.Character:GetChildren()) do | |
1742 | if a:IsA("Hat") or a:IsA("CharacterMesh") or a:IsA("Shirt") or a:IsA("Pants") then | |
1743 | a:Remove() | |
1744 | elseif a:IsA("Part") and a.Name == "Head" then | |
1745 | for _,b in pairs(a:GetChildren()) do | |
1746 | if b:IsA("Decal") then | |
1747 | b:Remove() | |
1748 | end | |
1749 | end | |
1750 | elseif a:IsA("Part") and a.Name ~= "Head" then | |
1751 | a.BrickColor = BrickColor.new("Really black") | |
1752 | elseif a:IsA("Part") and a.Name == "Head" then | |
1753 | a.BrickColor = BrickColor.new("White") | |
1754 | end | |
1755 | end | |
1756 | CreateObject "Shirt" { | |
1757 | Parent = Player.Character, | |
1758 | ShirtTemplate = "rbxassetid://8561740" | |
1759 | } | |
1760 | end) | |
1761 | end) | |
1762 | ||
1763 | AddCommand({"clear","clearws"}, "Clears all of Workspace to just be a baseplate.", 3, function(Args, Speaker) | |
1764 | for _,v in pairs(game.Workspace:GetChildren()) do | |
1765 | if not Services.Players:findFirstChild(v.Name) then | |
1766 | v:Remove() | |
1767 | end | |
1768 | end | |
1769 | wait(0.1) | |
1770 | CreateObject "Part" { | |
1771 | Parent = Services.Workspace, | |
1772 | Name = "BasePlate", | |
1773 | Locked = true, | |
1774 | Anchored = true, | |
1775 | BrickColor = BrickColor.new("Bright green"), | |
1776 | Material = "Grass", | |
1777 | FormFactor = "Symmetric", | |
1778 | Size = Vector3.new(1000,1,1000), | |
1779 | Position = Vector3.new(0,0,0) | |
1780 | } | |
1781 | end) | |
1782 | ||
1783 | AddCommand({"give"}, "Gives a player an item from Lighting/ReplicatedStorage.", 1, function(Args, Speaker) | |
1784 | local Players = GetPlayers(Args[1]) | |
1785 | ForEach(Players, function(Player) | |
1786 | for _,v in pairs(Services.Lighting:GetChildren()) do | |
1787 | if not Args[2] then | |
1788 | return | |
1789 | end | |
1790 | if v:lower():find(Args[2]:lower()) then | |
1791 | v:Clone().Parent = Player.Backpack | |
1792 | end | |
1793 | end | |
1794 | end) | |
1795 | end) | |
1796 | ||
1797 | AddCommand({"startergive"}, "Gives a player an item from Lighting/ReplicatedStorage to keep after death.", 1, function(Args, Speaker) | |
1798 | local Players = GetPlayers(Args[1]) | |
1799 | ForEach(Players, function(Player) | |
1800 | for _,v in pairs(Services.Lighting:GetChildren()) do | |
1801 | if not Args[2] then | |
1802 | return | |
1803 | end | |
1804 | if v:lower():find(v.Name, Args[2]:lower()) then | |
1805 | v:Clone().Parent = Player.Backpack | |
1806 | v:Clone().Parent = Player.StarterGear | |
1807 | end | |
1808 | end | |
1809 | end) | |
1810 | end) | |
1811 | ||
1812 | AddCommand({"plrdist","pdist","playerdist","playerdistance"}, "Prints (to the console) the distances between two players.", 1, function(Args, Speaker) | |
1813 | local Players = GetPlayers(Args[1]) | |
1814 | local OtherPlayer = GetPlayers(Args[2]) | |
1815 | ForEach(Players, function(Player) | |
1816 | if Player.Character and Player.Character:findFirstChild("HumanoidRootPart") then | |
1817 | if OtherPlayer[1].Character and OtherPlayer[1].Character:findFirstChild("HumanoidRootPart") then | |
1818 | print(OtherPlayer[1].Name .. " || " .. math.floor((Player.Character.HumanoidRootPart.Position - OtherPlayer[1].Character.HumanoidRootPart.Position).magnitude)) | |
1819 | end | |
1820 | end | |
1821 | end) | |
1822 | end) | |
1823 | ||
1824 | AddCommand({"sword","givesword"}, "Gives a player a linked sword.", 1, function(Args, Speaker) | |
1825 | local Players = GetPlayers(Args[1]) | |
1826 | ForEach(Players, function(Player) | |
1827 | local sword = Services.InsertService:LoadAsset(125013769) | |
1828 | for _,v in pairs(sword:GetChildren()) do | |
1829 | if v:IsA("Tool") then | |
1830 | v:Clone().Parent = Player.Backpack | |
1831 | end | |
1832 | end | |
1833 | sword:Destroy() | |
1834 | end) | |
1835 | end) | |
1836 | ||
1837 | AddCommand({"change"}, "Changes a player's leaderstat.", 1, function(Args, Speaker) | |
1838 | local Players = GetPlayers(Args[1]) | |
1839 | ForEach(Players, function(Player) | |
1840 | if Player:findFirstChild("leaderstats") then | |
1841 | for _,v in pairs(Player.leaderstats:GetChildren()) do | |
1842 | if v.Name:lower():find(tostring(Args[2]):lower()) then | |
1843 | v.RobloxLocked = true | |
1844 | v.Value = tostring(Args[3]) | |
1845 | wait(0.5) | |
1846 | v.RobloxLocked = false | |
1847 | end | |
1848 | end | |
1849 | end | |
1850 | end) | |
1851 | end) | |
1852 | ||
1853 | AddCommand({"resetstats"}, "Resets a player's leaderstats.", 1, function(Args, Speaker) | |
1854 | local Players = GetPlayers(Args[1]) | |
1855 | ForEach(Players, function(Player) | |
1856 | if Player:findFirstChild("leaderstats") then | |
1857 | for _,v in pairs(Player.leaderstats:GetChildren()) do | |
1858 | if v:IsA("StringValue") then | |
1859 | v.Value = "" | |
1860 | elseif v:IsA("NumberValue") then | |
1861 | v.Value = 0 | |
1862 | else | |
1863 | error("Invalid value type") | |
1864 | end | |
1865 | end | |
1866 | end | |
1867 | end) | |
1868 | end) | |
1869 | ||
1870 | AddCommand({"damage","dmg"}, "Removes some of a player's health.", 1, function(Args, Speaker) | |
1871 | local Players = GetPlayers(Args[1]) | |
1872 | ForEach(Players, function(Player) | |
1873 | if Player.Character.Humanoid then | |
1874 | Player.Character.Humanoid:TakeDamage(tonumber(Args[2])) | |
1875 | end | |
1876 | end) | |
1877 | end) | |
1878 | ||
1879 | AddCommand({"team"}, "Changes a player's team.", 1, function(Args, Speaker) | |
1880 | local Players = GetPlayers(Args[1]) | |
1881 | ForEach(Players, function(Player) | |
1882 | for _,v in pairs(Services.Teams:GetChildren()) do | |
1883 | if v:lower():find(Args[2]:lower()) then | |
1884 | Player.TeamColor = v.TeamColor | |
1885 | end | |
1886 | end | |
1887 | end) | |
1888 | end) | |
1889 | ||
1890 | AddCommand({"pbtools","pbstools"}, "Gives a player PBS tools.", 2, function(Args, Speaker) | |
1891 | local Players = GetPlayers(Args[1]) | |
1892 | ForEach(Players, function(Player) | |
1893 | Player.PersonalServerRank = 250 | |
1894 | end) | |
1895 | end) | |
1896 | ||
1897 | AddCommand({"pbvis","nopbtools"}, "Removes a player's PBS tools.", 2, function(Args, Speaker) | |
1898 | local Players = GetPlayers(Args[1]) | |
1899 | ForEach(Players, function(Player) | |
1900 | Player.PersonalServerRank = 10 | |
1901 | end) | |
1902 | end) | |
1903 | ||
1904 | AddCommand({"view","viewplr","viewp"}, "Lets the localplayer view another player.", 5, function(Args, Speaker) | |
1905 | local Players = GetPlayers(Args[1]) | |
1906 | ForEach(Players, function(Player) | |
1907 | game.Workspace.CurrentCamera.CameraSubject = Player.Character | |
1908 | end) | |
1909 | end) | |
1910 | ||
1911 | AddCommand({"unview","unviewplr","unviewp"}, "Makes the localplayer view their own character.", 5, function(Args, Speaker) | |
1912 | game.Workspace.CurrentCamera.CameraSubject = Services.Players.LocalPlayer.Character | |
1913 | end) | |
1914 | ||
1915 | AddCommand({"startergear","sgear"}, "Gives a player a gear to keep after death.", 1, function(Args, Speaker) | |
1916 | local Players = GetPlayers(Args[1]) | |
1917 | ForEach(Players, function(Player) | |
1918 | local Model = Services.InsertService:LoadAsset(tonumber(Args[2])) | |
1919 | for _,v in pairs(Model:GetChildren()) do | |
1920 | if v:IsA("Tool") then | |
1921 | v:Clone().Parent = Player.Backpack | |
1922 | v:Clone().Parent = Player.StarterGear | |
1923 | end | |
1924 | end | |
1925 | Model:Destroy() | |
1926 | end) | |
1927 | end) | |
1928 | ||
1929 | AddCommand({"nolimbs","removelimbs","limbless"}, "Removes a player's limbs.", 1, function(Args, Speaker) | |
1930 | local Players = GetPlayers(Args[1]) | |
1931 | ForEach(Players, function(Player) | |
1932 | for _,v in pairs(Player.Character:GetChildren()) do | |
1933 | if v:IsA("BasePart") then | |
1934 | if v.Name ~= "Torso" and v.Name ~= "Head" and v.Name ~= "HumanoidRootPart" then | |
1935 | v:Remove() | |
1936 | end | |
1937 | end | |
1938 | end | |
1939 | end) | |
1940 | end) | |
1941 | ||
1942 | AddCommand({"light"}, "Gives a player a light.", 1, function(Args, Speaker) | |
1943 | local Players = GetPlayers(Args[1]) | |
1944 | ForEach(Players, function(Player) | |
1945 | local r, g, b = Args[2], Args[3], Args[4] | |
1946 | if not Args[2] or not Args[3] or not Args[4] then | |
1947 | r = 100 | |
1948 | g = 100 | |
1949 | b = 100 | |
1950 | end | |
1951 | CreateObject "PointLight" { | |
1952 | Parent = Player.Character.Torso, | |
1953 | Name = math.random(1,1000), | |
1954 | Color = Color3.new(r/255, g/255, b/255), | |
1955 | Shadows = true, | |
1956 | Range = 15, | |
1957 | Brightness = 5 | |
1958 | } | |
1959 | end) | |
1960 | end) | |
1961 | ||
1962 | AddCommand({"unlight","nolight"}, "Removes a player's light.", 1, function(Args, Speaker) | |
1963 | local Players = GetPlayers(Args[1]) | |
1964 | ForEach(Players, function(Player) | |
1965 | for _,v in pairs(Player.Character.Torso:GetChildren()) do | |
1966 | if v:IsA("PointLight") then | |
1967 | v:Remove() | |
1968 | end | |
1969 | end | |
1970 | end) | |
1971 | end) | |
1972 | ||
1973 | AddCommand({"misctools","mtools"}, "Gives the localplayer advanced tools.", 5, function(Args, Speaker) | |
1974 | for _,v in pairs(StorageFolder.Tools["Misc Tools"]:GetChildren()) do | |
1975 | local newTool = v:Clone() | |
1976 | newTool.Parent = Services.Players.LocalPlayer.Backpack | |
1977 | newTool.Functions.Disabled = false | |
1978 | end | |
1979 | end) | |
1980 | ||
1981 | AddCommand({"headsize"}, "Changes a player's head size.", 1, function(Args, Speaker) | |
1982 | local Players = GetPlayers(Args[1]) | |
1983 | ForEach(Players, function(Player) | |
1984 | Player.Character.Head.Mesh.Scale = Vector3.new(Args[2], Args[2], Args[2]) | |
1985 | end) | |
1986 | end) | |
1987 | ||
1988 | AddCommand({"punish"}, "Puts a player's character in Lighting.", 1, function(Args, Speaker) | |
1989 | local Players = GetPlayers(Args[1]) | |
1990 | ForEach(Players, function(Player) | |
1991 | if Player.Character.Parent ~= Services.Lighting then | |
1992 | Player.Character.Parent = Services.Lighting | |
1993 | end | |
1994 | end) | |
1995 | end) | |
1996 | ||
1997 | AddCommand({"unpunish"}, "Puts a player's character back into Workspace.", 1, function(Args, Speaker) | |
1998 | local Players = GetPlayers(Args[1]) | |
1999 | ForEach(Players, function(Player) | |
2000 | if Services.Lighting:findFirstChild(Player.Name) then | |
2001 | Player.Character.Parent = Services.Workspace | |
2002 | end | |
2003 | end) | |
2004 | end) | |
2005 | ||
2006 | AddCommand({"loopkill","lkl","lkill"}, "Makes a player die repeatedly.", 2, function(Args, Speaker) | |
2007 | local Players = GetPlayers(Args[1]) | |
2008 | ForEach(Players, function(Player) | |
2009 | table.insert(LoopKilled, #LoopKilled +1, Player.Name) | |
2010 | end) | |
2011 | end) | |
2012 | ||
2013 | AddCommand({"unloopkill","unlkl","unlkill"}, "Stops a player's repeated death.", 2, function(Args, Speaker) | |
2014 | local Players = GetPlayers(Args[1]) | |
2015 | ForEach(Players, function(Player) | |
2016 | for i,v in pairs(LoopKilled) do | |
2017 | if tostring(Player.Name):match(v) then | |
2018 | table.remove(LoopKilled, i) | |
2019 | end | |
2020 | end | |
2021 | end) | |
2022 | end) | |
2023 | ||
2024 | AddCommand({"loopsit","lsit"}, "Makes a player sit repeatedly.", 2, function(Args, Speaker) | |
2025 | local Players = GetPlayers(Args[1]) | |
2026 | ForEach(Players, function(Player) | |
2027 | table.insert(LoopSit, #LoopSit +1, Player.Name) | |
2028 | end) | |
2029 | end) | |
2030 | ||
2031 | AddCommand({"unloopsit","unlsit"}, "Stops a player's repeated sitting.", 2, function(Args, Speaker) | |
2032 | local Players = GetPlayers(Args[1]) | |
2033 | ForEach(Players, function(Player) | |
2034 | for i,v in pairs(LoopSit) do | |
2035 | if tostring(Player.Name):match(v) then | |
2036 | table.remove(LoopSit, i) | |
2037 | end | |
2038 | end | |
2039 | end) | |
2040 | end) | |
2041 | ||
2042 | AddCommand({"lockcam","lockcamera"}, "Makes a person's camera go to first person.", 1, function(Args, Speaker) | |
2043 | local Players = GetPlayers(Args[1]) | |
2044 | ForEach(Players, function(Player) | |
2045 | Player.CameraMode = "LockFirstPerson" | |
2046 | end) | |
2047 | end) | |
2048 | ||
2049 | AddCommand({"unlockcam","unlockcamera"}, "Makes a person's camera go to third person.", 1, function(Args, Speaker) | |
2050 | local Players = GetPlayers(Args[1]) | |
2051 | ForEach(Players, function(Player) | |
2052 | Player.CameraMode = "Classic" | |
2053 | end) | |
2054 | end) | |
2055 | ||
2056 | AddCommand({"rocket","blastoff"}, "Launches a player into the sky and then explodes.", 1, function(Args, Speaker) | |
2057 | local Players = GetPlayers(Args[1]) | |
2058 | ForEach(Players, function(Player) | |
2059 | CreateObject "BodyThrust" { | |
2060 | Parent = Player.Character.Torso, | |
2061 | Name = "Rocket", | |
2062 | Force = Vector3.new(0,6000,0) | |
2063 | } | |
2064 | wait(7) | |
2065 | CreateObject "Explosion" { | |
2066 | Parent = Services.Workspace, | |
2067 | Position = Player.Character.Torso.Position | |
2068 | } | |
2069 | end) | |
2070 | end) | |
2071 | ||
2072 | AddCommand({"float","skywalk"}, "Lets a player walk on air.", 2, function(Args, Speaker) | |
2073 | local Players = GetPlayers(Args[1]) | |
2074 | ForEach(Players, function(Player) | |
2075 | local newPad = StorageFolder.Misc.Pad:Clone() | |
2076 | newPad.Parent = Player.Character | |
2077 | newPad.CFrame = Player.Character.Torso.CFrame * CFrame.new(0,-3.5,0) | |
2078 | spawn(function() | |
2079 | while wait(0.05) do | |
2080 | if Player.Character:findFirstChild("Pad") then | |
2081 | newPad.CFrame = Player.Character.Torso.CFrame * CFrame.new(0,-3.5,0) | |
2082 | else | |
2083 | break | |
2084 | end | |
2085 | end | |
2086 | end) | |
2087 | end) | |
2088 | end) | |
2089 | ||
2090 | AddCommand({"unfloat","unskywalk"}, "Removes a player's ability to walk in the air.", 2, function(Args, Speaker) | |
2091 | local Players = GetPlayers(Args[1]) | |
2092 | ForEach(Players, function(Player) | |
2093 | if Player.Character:findFirstChild("Pad") then | |
2094 | Player.Character.Pad:Remove() | |
2095 | end | |
2096 | end) | |
2097 | end) | |
2098 | ||
2099 | AddCommand({"nograv","moonjump"}, "Gives a player a zero-gravity effect.", 1, function(Args, Speaker) | |
2100 | local Players = GetPlayers(Args[1]) | |
2101 | ForEach(Players, function(Player) | |
2102 | if Player.Character.Torso:findFirstChild("ChangedGravity") then | |
2103 | Player.Character.Torso.ChangedGravity:Remove() | |
2104 | end | |
2105 | CreateObject "BodyThrust" { | |
2106 | Parent = Player.Character.Torso, | |
2107 | Name = "ChangedGravity", | |
2108 | Force = Vector3.new(0,2500,0) | |
2109 | } | |
2110 | end) | |
2111 | end) | |
2112 | ||
2113 | AddCommand({"grav"}, "Returns a player's normal gravity.", 1, function(Args, Speaker) | |
2114 | local Players = GetPlayers(Args[1]) | |
2115 | ForEach(Players, function(Player) | |
2116 | if Player.Character.Torso:findFirstChild("ChangedGravity") then | |
2117 | Player.Character.Torso.ChangedGravity:Remove() | |
2118 | end | |
2119 | end) | |
2120 | end) | |
2121 | ||
2122 | AddCommand({"setgrav","changegrav"}, "Changes a player's gravity.", 1, function(Args, Speaker) | |
2123 | local Players = GetPlayers(Args[1]) | |
2124 | ForEach(Players, function(Player) | |
2125 | local Gravity = Args[2] | |
2126 | if not Args[2] then | |
2127 | Gravity = 2500 | |
2128 | end | |
2129 | if Player.Character.Torso:findFirstChild("ChangedGravity") then | |
2130 | Player.Character.Torso.ChangedGravity:Remove() | |
2131 | end | |
2132 | CreateObject "BodyThrust" { | |
2133 | Parent = Player.Character.Torso, | |
2134 | Name = "ChangedGravity", | |
2135 | Force = Vector3.new(0,Gravity,0) | |
2136 | } | |
2137 | end) | |
2138 | end) | |
2139 | ||
2140 | AddCommand({"removews","removeworkspace"}, "Remove all contents of Workspace.", 3, function(Args, Speaker) | |
2141 | for _,v in pairs(Services.Workspace:GetChildren()) do | |
2142 | if not v:IsA("Terrain") and v.Name ~= "Camera" then | |
2143 | v:Remove() | |
2144 | end | |
2145 | end | |
2146 | end) | |
2147 | ||
2148 | AddCommand({"clearterrain","terrainclear","tclear"}, "Clears all terrain.", 3, function(Args, Speaker) | |
2149 | for _,v in pairs(Services.Workspace:GetChildren()) do | |
2150 | if v:IsA("Terrain") then | |
2151 | v:Clear() | |
2152 | end | |
2153 | end | |
2154 | end) | |
2155 | ||
2156 | AddCommand({"colorws","colourws","colourworkspace","colorworkspace"}, "Colours everything in workspace.", 4, function(Args, Speaker) | |
2157 | local Colour = table.concat(Args, " ") | |
2158 | if not Args[1] then | |
2159 | Colour = "Bright red" | |
2160 | end | |
2161 | local function ColourParts(Instance) | |
2162 | for _,v in pairs(Instance:GetChildren()) do | |
2163 | if v:IsA("BasePart") then | |
2164 | v.BrickColor = BrickColor.new(Colour) | |
2165 | v.Transparency = 0.7 | |
2166 | CreateObject "SelectionBox" { | |
2167 | Parent = v, | |
2168 | Name = math.random(1, 1000), | |
2169 | Adornee = v, | |
2170 | Color3 = BrickColor.new(Colour).Color, | |
2171 | Transparency = 0.7 | |
2172 | } | |
2173 | end | |
2174 | ColourParts(v) | |
2175 | end | |
2176 | end | |
2177 | ColourParts(Services.Workspace) | |
2178 | end) | |
2179 | ||
2180 | AddCommand({"disco"}, "Makes the ambience change colours as if it were a disco party.", 1, function(Args, Speaker) | |
2181 | if not Settings.Disco then | |
2182 | if not Settings.Strobe then | |
2183 | Settings.Disco = true | |
2184 | elseif Settings.Strobe then | |
2185 | Settings.Strobe = false | |
2186 | Settings.Disco = true | |
2187 | end | |
2188 | spawn(function() | |
2189 | repeat | |
2190 | if Settings.Disco == false then | |
2191 | return | |
2192 | end | |
2193 | wait(0.1) | |
2194 | local col = Color3.new(math.random(255)/255,math.random(255)/255,math.random(255)/255) | |
2195 | Services.Lighting = col | |
2196 | Services.Lighting.FogColor = col | |
2197 | until | |
2198 | Settings.Disco == false | |
2199 | end) | |
2200 | end | |
2201 | end) | |
2202 | ||
2203 | AddCommand({"undisco"}, "Ends the disco.", 1, function(Args, Speaker) | |
2204 | if Settings.Disco then | |
2205 | Settings.Disco = false | |
2206 | wait(0.5) | |
2207 | Services.Lighting.Ambient = LightingDefaults.Ambient | |
2208 | Services.Lighting.FogColor = LightingDefaults.FogColor | |
2209 | end | |
2210 | end) | |
2211 | ||
2212 | AddCommand({"strobe"}, "Repidly changes the ambience from black to white.", 1, function(Args, Speaker) | |
2213 | if not Settings.Strobe then | |
2214 | Services.Lighting.FogEnd = 50 | |
2215 | if not Settings.Disco then | |
2216 | Settings.Strobe = true | |
2217 | elseif Settings.Disco then | |
2218 | Settings.Disco = false | |
2219 | Settings.Strobe = true | |
2220 | end | |
2221 | spawn(function() | |
2222 | repeat | |
2223 | if Settings.Strobe == false then | |
2224 | return | |
2225 | end | |
2226 | local White = Color3.new(1,1,1) | |
2227 | local Black = Color3.new(0,0,0) | |
2228 | wait(0.05) | |
2229 | Services.Lighting = White | |
2230 | Services.Lighting.FogColor = White | |
2231 | wait(0.05) | |
2232 | Services.Lighting = Black | |
2233 | Services.Lighting.FogColor = Black | |
2234 | until | |
2235 | Settings.Strobe == false | |
2236 | end) | |
2237 | end | |
2238 | end) | |
2239 | ||
2240 | AddCommand({"unstrobe"}, "Ends the disco.", 1, function(Args, Speaker) | |
2241 | if Settings.Strobe then | |
2242 | Settings.Strobe = false | |
2243 | wait(0.5) | |
2244 | Services.Lighting.Ambient = LightingDefaults.Ambient | |
2245 | Services.Lighting.FogColor = LightingDefaults.FogColor | |
2246 | Services.Lighting.FogEnd = LightingDefaults.FogEnd | |
2247 | end | |
2248 | end) | |
2249 | ||
2250 | AddCommand({"fix","fixlighting"}, "Restores Lighting's properties to their original values.", 1, function(Args, Speaker) | |
2251 | if Settings.Disco then | |
2252 | Settings.Disco = false | |
2253 | end | |
2254 | if Settings.Strobe then | |
2255 | Settings.Strobe = false | |
2256 | end | |
2257 | wait(0.5) | |
2258 | Services.Lighting.Ambient = LightingDefaults.Ambient | |
2259 | Services.Lighting.OutdoorAmbient = LightingDefaults.OutdoorAmbient | |
2260 | Services.Lighting.FogColor = LightingDefaults.FogColor | |
2261 | Services.Lighting.Brightness = LightingDefaults.Brightness | |
2262 | Services.Lighting.TimeOfDay = LightingDefaults.TimeOfDay | |
2263 | Services.Lighting.FogEnd = LightingDefaults.FogEnd | |
2264 | Services.Lighting.FogStart = LightingDefaults.FogStart | |
2265 | Services.Lighting.GlobalShadows = LightingDefaults.GlobalShadows | |
2266 | Services.Lighting.Outlines = LightingDefaults.Outlines | |
2267 | Services.Lighting.ShadowColor = LightingDefaults.ShadowColor | |
2268 | end) | |
2269 | ||
2270 | AddCommand({"restore","restoremap","fixws","fixworkspace"}, "Restores Workspace to its original state.", 3, function(Args, Speaker) | |
2271 | if Services.ReplicatedStorage:findFirstChild("MapRestore") then | |
2272 | for _,v in pairs(Services.Workspace:GetChildren()) do | |
2273 | if not v:IsA("Terrain") and not v:IsA("Camera") then | |
2274 | v:Remove() | |
2275 | end | |
2276 | end | |
2277 | for _,v in pairs(Services.ReplicatedStorage.MapRestore:GetChildren()) do | |
2278 | v:Clone().Parent = Services.Workspace | |
2279 | end | |
2280 | end | |
2281 | end) | |
2282 | ||
2283 | AddCommand({"shutdown"}, "Removes all players from the server.", 4, function(Args, Speaker) | |
2284 | Services.Players:ClearAllChildren() | |
2285 | end) | |
2286 | ||
2287 | AddCommand({"decalspam","dcalspam","dspam"}, "Spams a decal on every surface of every part in Workspace.", 3, function(Args, Speaker) | |
2288 | local function Spam(Instance) | |
2289 | local id | |
2290 | for _,v in pairs(Instance:GetChildren()) do | |
2291 | if v:IsA("BasePart") then | |
2292 | local Surfaces = {"Front","Back","Top","Bottom","Left","Right"} | |
2293 | for i = 1, 6 do | |
2294 | local Image = Instance.new("Decal", v) | |
2295 | Image.Name = "Spam" | |
2296 | Image.Face = Surfaces[i] | |
2297 | if Args[1] then | |
2298 | id = Args[1] | |
2299 | elseif not Args[1] then | |
2300 | id = 67588212 -- troll face | |
2301 | end | |
2302 | Image.Texture = "rbxassetid://" .. tostring(id) | |
2303 | end | |
2304 | end | |
2305 | Spam(v) | |
2306 | end | |
2307 | end | |
2308 | Spam(Services.Workspace) | |
2309 | end) | |
2310 | ||
2311 | AddCommand({"setb","brightness"}, "Changes the place's brightness.", 1, function(Args, Speaker) | |
2312 | if not Args[1] then | |
2313 | return | |
2314 | end | |
2315 | Services.Lighting.Brightness = Args[1] | |
2316 | end) | |
2317 | ||
2318 | AddCommand({"setamb","ambience"}, "Changes the place's ambience.", 1, function(Args, Speaker) | |
2319 | local r, g, b = Args[1], Args[2], Args[3] | |
2320 | if not Args[1] or not Args[2] or not Args[3] then | |
2321 | r = 100 | |
2322 | g = 100 | |
2323 | b = 100 | |
2324 | end | |
2325 | Services.Lighting.Ambient = Color3.new(r/255, g/255, b/255) | |
2326 | end) | |
2327 | ||
2328 | AddCommand({"name","namechar"}, "Changes a player's character's name.", 1, function(Args, Speaker) | |
2329 | local String = table.concat(Args, " ") | |
2330 | local newString = string.gsub(String, Args[1] .. " ", "") | |
2331 | local Players = GetPlayers(Args[1]) | |
2332 | ForEach(Players, function(Player) | |
2333 | for _,v in pairs(Player.Character:children()) do | |
2334 | if v:findFirstChild("NameTag") then | |
2335 | Player.Character.Head.Transparency = 0 | |
2336 | v:Destroy() | |
2337 | end | |
2338 | end | |
2339 | CreateObject "Model" { | |
2340 | Name = newString, | |
2341 | Parent = Player.Character | |
2342 | } | |
2343 | CreateObject "Humanoid" { | |
2344 | Name = "NameTag", | |
2345 | MaxHealth = 0, | |
2346 | Health = 0, | |
2347 | Parent = Player.Character[newString] | |
2348 | } | |
2349 | local newHead = Player.Character.Head:Clone() | |
2350 | newHead.Parent = Player.Character[newString] | |
2351 | CreateObject "Weld" { | |
2352 | Part0 = newHead, | |
2353 | Part1 = Player.Character.Head, | |
2354 | Parent = Player.Character[newString] | |
2355 | } | |
2356 | Player.Character.Head.Transparency = 1 | |
2357 | end) | |
2358 | end) | |
2359 | ||
2360 | AddCommand({"unname","unnamechar"}, "Restores a player's character's name.", 1, function(Args, Speaker) | |
2361 | local Players = GetPlayers(Args[1]) | |
2362 | ForEach(Players, function(Player) | |
2363 | for _,v in pairs(Player.Character:GetChildren()) do | |
2364 | if v:IsA("Model") and v:findFirstChild("NameTag") then | |
2365 | v:Remove() | |
2366 | Player.Character.Head.Transparency = 0 | |
2367 | end | |
2368 | end | |
2369 | end) | |
2370 | end) | |
2371 | ||
2372 | AddCommand({"jump"}, "Makes a player jump.", 1, function(Args, Speaker) | |
2373 | local Players = GetPlayers(Args[1]) | |
2374 | ForEach(Players, function(Player) | |
2375 | if Player.Character:findFirstChild("Humanoid") then | |
2376 | Player.Character.Humanoid.Jump = true | |
2377 | end | |
2378 | end) | |
2379 | end) | |
2380 | ||
2381 | AddCommand({"sit"}, "Makes a player sit.", 1, function(Args, Speaker) | |
2382 | local Players = GetPlayers(Args[1]) | |
2383 | ForEach(Players, function(Player) | |
2384 | if Player.Character:findFirstChild("Humanoid") then | |
2385 | Player.Character.Humanoid.Sit = true | |
2386 | end | |
2387 | end) | |
2388 | end) | |
2389 | ||
2390 | AddCommand({"clone","clonechar"}, "Clones a player's character.", 1, function(Args, Speaker) | |
2391 | local Players = GetPlayers(Args[1]) | |
2392 | ForEach(Players, function(Player) | |
2393 | Player.Character.Archivable = true | |
2394 | local newChar = Player.Character:Clone() | |
2395 | newChar.Parent = Services.Workspace | |
2396 | newChar:MoveTo(Player.Character.Torso.Position) | |
2397 | Player.Character.Archivable = false | |
2398 | end) | |
2399 | end) | |
2400 | ||
2401 | AddCommand({"fog","setfog"}, "Changes the fog colour and end distance.", 1, function(Args, Speaker) | |
2402 | local r, g, b, fend = Args[1], Args[2], Args[3], Args[4] | |
2403 | if not Args[1] or not Args[2] or not Args[3] then | |
2404 | r = 100 | |
2405 | g = 100 | |
2406 | b = 100 | |
2407 | end | |
2408 | if Args[4] then | |
2409 | Services.Lighting.FogEnd = fend | |
2410 | end | |
2411 | Services.Lighting.FogColor = Color3.new(r, g, b) | |
2412 | end) | |
2413 | ||
2414 | AddCommand({"part","newpart","addpart","createpart"}, "Creates a part at the speaker's head's position.", 2, function(Args, Speaker) | |
2415 | local x, y, z = Args[1], Args[2], Args[3] | |
2416 | if not Args[1] or not Args[2] or not Args[3] then | |
2417 | x = 2 | |
2418 | y = 1 | |
2419 | z = 4 | |
2420 | end | |
2421 | CreateObject "Part" { | |
2422 | Name = math.random(1, 1000), | |
2423 | Parent = Services.Workspace, | |
2424 | Size = Vector3.new(x, y, z), | |
2425 | Position = Speaker.Character.Head.Position + Vector3.new(0, 2, 0), | |
2426 | Anchored = true | |
2427 | } | |
2428 | end) | |
2429 | ||
2430 | AddCommand({"fling"}, "Flings a player's character.", 1, function(Args, Speaker) | |
2431 | local Players = GetPlayers(Args[1]) | |
2432 | ForEach(Players, function(Player) | |
2433 | if Player.Character:findFirstChild("Torso") and Player.Character:findFirstChild("Humanoid") then | |
2434 | local xran, zran | |
2435 | ||
2436 | repeat | |
2437 | xran = math.random(-9999,9999) | |
2438 | until | |
2439 | math.abs(xran) >= 5555 | |
2440 | ||
2441 | repeat | |
2442 | zran = math.random(-9999,9999) | |
2443 | until | |
2444 | math.abs(zran) >= 5555 | |
2445 | ||
2446 | Player.Character.Humanoid.Sit = true | |
2447 | Player.Character.Torso.Velocity = Vector3.new(0,0,0) | |
2448 | CreateObject "BodyForce" { | |
2449 | Parent = Player.Character.Torso, | |
2450 | Name = "FlingForce", | |
2451 | Force = Vector3.new(xran * 4, 9999 * 5, zran * 4) | |
2452 | } | |
2453 | wait(0.1) | |
2454 | Player.Character.Torso.FlingForce:Remove() | |
2455 | end | |
2456 | end) | |
2457 | end) | |
2458 | ||
2459 | AddCommand({"setkeybind"}, "Creates a keybind.", 5, function(Args, Speaker) | |
2460 | local String = table.concat(Args, " ") | |
2461 | local newString = string.gsub(String, Args[1] .. " ", "") | |
2462 | for i,v in pairs(KeyBinds) do | |
2463 | if KeyBinds[i][1] == Args[1] then | |
2464 | table.remove(KeyBinds, i) | |
2465 | end | |
2466 | end | |
2467 | table.insert(KeyBinds, #KeyBinds + 1, {Args[1], newString}) | |
2468 | end) | |
2469 | ||
2470 | AddCommand({"setwp","setwaypoint"}, "Creates a waypoint at the speaker's position.", 3, function(Args, Speaker) | |
2471 | local WPName = Args[1] | |
2472 | if not Args[1] then | |
2473 | return | |
2474 | end | |
2475 | for i,v in pairs(WayPoints) do | |
2476 | if v.NAME == WPName then | |
2477 | table.remove(WayPoints, i) | |
2478 | end | |
2479 | end | |
2480 | if Speaker.Character:findFirstChild("Torso") then | |
2481 | local Torso = Speaker.Character.Torso | |
2482 | table.insert(WayPoints, #WayPoints + 1, {["NAME"] = WPName, ["COORD"] = {math.floor(Torso.Position.X), math.floor(Torso.Position.Y), math.floor(Torso.Position.Z)}}) | |
2483 | end | |
2484 | end) | |
2485 | ||
2486 | AddCommand({"remwp","removewaypoint"}, "Removes a waypoint.", 3, function(Args, Speaker) | |
2487 | for i,v in pairs(WayPoints) do | |
2488 | if WayPoints[i].Name == Args[1] then | |
2489 | table.remove(WayPoints, i) | |
2490 | end | |
2491 | end | |
2492 | end) | |
2493 | ||
2494 | AddCommand({"tpwp"}, "Teleports a player to a waypoint.", 1, function(Args, Speaker) | |
2495 | local Players = GetPlayers(Args[1]) | |
2496 | ForEach(Players, function(Player) | |
2497 | if Player.Character:findFirstChild("HumanoidRootPart") then | |
2498 | for i,v in pairs(WayPoints) do | |
2499 | if WayPoints[i].NAME == tostring(Args[2]) then | |
2500 | Player.Character.HumanoidRootPart.CFrame = CFrame.new(WayPoints[i].COORD[1], WayPoints[i].COORD[2], WayPoints[i].COORD[3]) | |
2501 | end | |
2502 | end | |
2503 | end | |
2504 | end) | |
2505 | end) | |
2506 | ||
2507 | AddCommand({"chat"}, "Shows a chat bubble above a player's head", 3, function(Args, Speaker) | |
2508 | local String = table.concat(Args, " ") | |
2509 | local newString = string.gsub(String, Args[1] .. " ", "") | |
2510 | local Players = GetPlayers(Args[1]) | |
2511 | ForEach(Players, function(Player) | |
2512 | Services.Chat:Chat(Player.Character.Head, newString, Enum.ChatColor.Green) | |
2513 | end) | |
2514 | end) | |
2515 | ||
2516 | AddCommand({"fly"}, "Enables LocalPlayer fly.", 5, function(Args, Speaker) | |
2517 | Services.Players.LocalPlayer.Character:WaitForChild("Torso") | |
2518 | local Torso = game.Players.LocalPlayer.Character.Torso | |
2519 | Settings.Flying = true | |
2520 | local speed = 0 | |
2521 | local keys = { | |
2522 | a = false, | |
2523 | d = false, | |
2524 | w = false, | |
2525 | s = false | |
2526 | } | |
2527 | local function start() | |
2528 | CreateObject "BodyPosition" { | |
2529 | Parent = Torso, | |
2530 | Name = "FLYPOSITION", | |
2531 | maxForce = Vector3.new(math.huge, math.huge, math.huge), | |
2532 | position = Torso.Position | |
2533 | } | |
2534 | CreateObject "BodyGyro" { | |
2535 | Parent = Torso, | |
2536 | Name = "FLYGYRO", | |
2537 | maxTorque = Vector3.new(9e9, 9e9, 9e9), | |
2538 | cframe = Torso.CFrame | |
2539 | } | |
2540 | local bPosition = Torso:findFirstChild("FLYPOSITION") | |
2541 | local bGyro = Torso:findFirstChild("FLYGYRO") | |
2542 | repeat | |
2543 | wait() | |
2544 | Services.Players.LocalPlayer.Character.Humanoid.PlatformStand = true | |
2545 | local new = bGyro.cframe - bGyro.cframe.p + bPosition.position | |
2546 | if not keys.w and not keys.s and not keys.a and not keys.d then | |
2547 | speed = 1 | |
2548 | end | |
2549 | if keys.w then | |
2550 | new = new + Services.Workspace.CurrentCamera.CoordinateFrame.lookVector * speed | |
2551 | speed = speed + 0.01 | |
2552 | end | |
2553 | if keys.s then | |
2554 | new = new - Services.Workspace.CurrentCamera.CoordinateFrame.lookVector * speed | |
2555 | speed = speed + 0.01 | |
2556 | end | |
2557 | if keys.d then | |
2558 | new = new * CFrame.new(speed, 0 ,0) | |
2559 | speed = speed + 0.01 | |
2560 | end | |
2561 | if keys.a then | |
2562 | new = new * CFrame.new(-speed, 0, 0) | |
2563 | speed = speed + 0.01 | |
2564 | end | |
2565 | if speed > 5 then | |
2566 | speed = 5 | |
2567 | end | |
2568 | bPosition.position = new.p | |
2569 | if keys.w then | |
2570 | bGyro.cframe = Services.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad(speed * 15), 0, 0) | |
2571 | elseif keys.s then | |
2572 | bGyro.cframe = Services.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(math.rad(speed * 15), 0, 0) | |
2573 | else | |
2574 | bGyro.cframe = Services.Workspace.CurrentCamera.CoordinateFrame | |
2575 | end | |
2576 | until | |
2577 | Settings.Flying == false | |
2578 | if bGyro then | |
2579 | bGyro:Destroy() | |
2580 | end | |
2581 | if bPosition then | |
2582 | bPosition:Destroy() | |
2583 | end | |
2584 | Settings.Flying = false | |
2585 | Services.Players.LocalPlayer.Character.Humanoid.PlatformStand = false | |
2586 | speed = 0 | |
2587 | end | |
2588 | Settings.FlyEvent1 = Mouse.KeyDown:connect(function(key) | |
2589 | if not Torso or not Torso.Parent then | |
2590 | Settings.Flying = false | |
2591 | Settings.FlyEvent1:disconnect() | |
2592 | Settings.FlyEvent2:disconnect() | |
2593 | return | |
2594 | end | |
2595 | if key == "w" then | |
2596 | keys.w = true | |
2597 | elseif key == "s" then | |
2598 | keys.s = true | |
2599 | elseif key == "a" then | |
2600 | keys.a = true | |
2601 | elseif key == "d" then | |
2602 | keys.d = true | |
2603 | elseif key == "e" then | |
2604 | if Settings.Flying == true then | |
2605 | Settings.Flying = false | |
2606 | else | |
2607 | Settings.Flying = true | |
2608 | start() | |
2609 | end | |
2610 | end | |
2611 | end) | |
2612 | Settings.FlyEvent2 = Mouse.KeyUp:connect(function(key) | |
2613 | if key == "w" then | |
2614 | keys.w = false | |
2615 | elseif key == "s" then | |
2616 | keys.s = false | |
2617 | elseif key == "a" then | |
2618 | keys.a = false | |
2619 | elseif key == "d" then | |
2620 | keys.d = false | |
2621 | end | |
2622 | end) | |
2623 | start() | |
2624 | end) | |
2625 | ||
2626 | AddCommand({"unfly"}, "Disables LocalPlayer fly.", 5, function(Args, Speaker) | |
2627 | if Settings.Flying then | |
2628 | Services.Players.LocalPlayer.Character:findFirstChild("FLYPOSITION"):Remove() | |
2629 | Services.Players.LocalPlayer.Character:findFirstChild("FLYGYRO"):Remove() | |
2630 | Settings.Flying = false | |
2631 | Settings.FlyEvent1:disconnect() | |
2632 | Settings.FlyEvent2:disconnect() | |
2633 | end | |
2634 | end) | |
2635 | ||
2636 | AddCommand({"noclip"}, "Noclips the LocalPlayer", 5, function(Args, Speaker) | |
2637 | if not Settings.NoClipped then | |
2638 | Settings.NoClipped = false | |
2639 | end | |
2640 | end) | |
2641 | ||
2642 | AddCommand({"clip"}, "Clips the LocalPlayer", 5, function(Args, Speaker) | |
2643 | if Settings.NoClipped then | |
2644 | Settings.NoClipped = true | |
2645 | end | |
2646 | end) | |
2647 | ||
2648 | AddCommand({"esp"}, "Shows a billboard gui over a player's head showing health and distance.", 5, function(Args, Speaker) | |
2649 | local Players = GetPlayers(Args[1]) | |
2650 | ForEach(Players, function(Player) | |
2651 | table.insert(ESP, #ESP +1, Player.Name) | |
2652 | end) | |
2653 | end) | |
2654 | ||
2655 | AddCommand({"unesp","noesp","remesp"}, "Removes a player's ESP billboard.", 5, function(Args, Speaker) | |
2656 | local Players = GetPlayers(Args[1]) | |
2657 | ForEach(Players, function(Player) | |
2658 | for i,v in pairs(ESP) do | |
2659 | if tostring(Player.Name):match(v) then | |
2660 | table.remove(ESP, i) | |
2661 | end | |
2662 | end | |
2663 | end) | |
2664 | end) |