SHOW:
|
|
- or go back to the newest paste.
1 | -- Have Fun! | |
2 | - | -- IT FUCKING TAKE MY SELF 1 HOUR TO RESCRIPT THIS CAUSE SKISPLOIT CANT RUN THE FUCKING COREGUI |
2 | + | |
3 | -- By illremember#3799 | |
4 | ||
5 | -- Important Loading | |
6 | trueSettings = { | |
7 | commandPrefix = ";"; | |
8 | hotkeys = {}; | |
9 | fchotkeymode = "unfc"; | |
10 | } | |
11 | ||
12 | -- Important Variables | |
13 | gsPlayers = game:GetService("Players") | |
14 | gsWorkspace = game:GetService("Workspace") | |
15 | gsLighting = game:GetService("Lighting") | |
16 | gsReplicatedStorage = game:GetService("ReplicatedStorage") | |
17 | gsCoreGui = game:GetService("CoreGui") | |
18 | gsTween = game:GetService("TweenService") | |
19 | gsHttp = game:GetService("HttpService") | |
20 | ||
21 | LP = gsPlayers.LocalPlayer | |
22 | Mouse = LP:GetMouse() | |
23 | ||
24 | defaultSettings = gsHttp:JSONEncode(trueSettings) | |
25 | function CreateSave() | |
26 | writefile("Shattervast.txt", defaultSettings) | |
27 | wait(0.5) | |
28 | local content = readfile("Shattervast.txt") | |
29 | local trueValue = gsHttp:JSONDecode(content) | |
30 | commandPrefix = trueValue.commandPrefix | |
31 | hotkeys = trueValue.hotkeys | |
32 | fchotkeymode = trueValue.fchotkeymode | |
33 | end | |
34 | function fullUpdate() | |
35 | local updatedSettings = { | |
36 | commandPrefix = commandPrefix; | |
37 | hotkeys = hotkeys; | |
38 | fchotkeymode = fchotkeymode; | |
39 | } | |
40 | local fullUPDATED = gsHttp:JSONEncode(updatedSettings) | |
41 | wait(0.2) | |
42 | writefile("Shattervast.txt", fullUPDATED) | |
43 | end | |
44 | if writefile ~= nil then | |
45 | function builder() | |
46 | local TESTsave = readfile("Shattervast.txt") | |
47 | if TESTsave == nil then | |
48 | return false | |
49 | else | |
50 | return true | |
51 | end | |
52 | end | |
53 | local success, message = pcall(builder) | |
54 | if success == true then | |
55 | function reader() | |
56 | local content = readfile("Shattervast.txt") | |
57 | local trueValue = gsHttp:JSONDecode(content) | |
58 | commandPrefix = trueValue.commandPrefix | |
59 | hotkeys = trueValue.hotkeys | |
60 | if trueValue.fchotkeymode == nil then | |
61 | fchotkeymode = "unfc" | |
62 | fullUpdate() | |
63 | else | |
64 | fchotkeymode = trueValue.fchotkeymode | |
65 | end | |
66 | end | |
67 | reader() | |
68 | elseif success == false then | |
69 | CreateSave() | |
70 | end | |
71 | else | |
72 | commandPrefix = ";" | |
73 | hotkeys = {} | |
74 | fchotkeymode = "unfc" | |
75 | end | |
76 | ||
77 | CurrentGravity = gsWorkspace.Gravity | |
78 | CurrentWalkspeed = LP.Character.Humanoid.WalkSpeed | |
79 | CurrentJumppower = LP.Character.Humanoid.JumpPower | |
80 | CurrentHipheight = LP.Character.Humanoid.HipHeight | |
81 | CurrentNormal = LP.DevCameraOcclusionMode | |
82 | ||
83 | gsWorkspace.Camera.Changed:Connect(function() | |
84 | gsWorkspace.Camera.FieldOfView = 70 | |
85 | end) | |
86 | ||
87 | -- Important Functions | |
88 | function view(plr) | |
89 | if plr.Character.Humanoid ~= nil then | |
90 | gsWorkspace.CurrentCamera.CameraSubject = plr.Character.Humanoid | |
91 | else | |
92 | gsWorkspace.CurrentCamera.CameraSubject = plr.Character.Head | |
93 | end | |
94 | end | |
95 | function unlockWS() | |
96 | for i,part in pairs(gsWorkspace:GetDescendants()) do | |
97 | if part:IsA("Part") then | |
98 | part.Locked = false | |
99 | end | |
100 | end | |
101 | end | |
102 | function lockWS() | |
103 | for i,part in pairs(gsWorkspace:GetDescendants()) do | |
104 | if part:IsA("Part") then | |
105 | part.Locked = true | |
106 | end | |
107 | end | |
108 | end | |
109 | function FEGodmode() | |
110 | local changeview = false | |
111 | if gsWorkspace.CurrentCamera.CameraSubject == LP.Character.Humanoid or gsWorkspace.CurrentCamera.CameraSubject == LP.Character then | |
112 | changeview = true | |
113 | end | |
114 | LP.Character.Humanoid.Name = 1 | |
115 | local l = LP.Character["1"]:Clone() | |
116 | l.Parent = LP.Character | |
117 | l.Name = "Humanoid" | |
118 | wait(0.1) | |
119 | LP.Character["1"]:Destroy() | |
120 | if changeview then | |
121 | game:GetService("Workspace").CurrentCamera.CameraSubject = LP.Character | |
122 | end | |
123 | LP.Character.Animate.Disabled = true | |
124 | wait(0.1) | |
125 | LP.Character.Animate.Disabled = false | |
126 | LP.Character.Humanoid.DisplayDistanceType = "None" | |
127 | end | |
128 | function RocketPropulsion(maxthrust,maxspeed,thrustp,targetplr,name) | |
129 | local l = Instance.new("RocketPropulsion") | |
130 | l.Parent = LP.Character.HumanoidRootPart | |
131 | l.CartoonFactor = 1 | |
132 | l.MaxThrust = maxthrust | |
133 | l.MaxSpeed = maxspeed | |
134 | l.ThrustP = thrustp | |
135 | l.Name = name | |
136 | l.Target = targetplr.Character.HumanoidRootPart | |
137 | l:Fire() | |
138 | end | |
139 | function createIntro(style, msg, length) | |
140 | if gsCoreGui:FindFirstChild("Notification") then | |
141 | gsCoreGui:FindFirstChild("Notification"):Destroy() | |
142 | end | |
143 | local info = "http://www.roblox.com/asset/?id=1281284684" | |
144 | local warning = "http://www.roblox.com/asset/?id=1281286925" | |
145 | if style == "info" then | |
146 | style = info | |
147 | elseif style == "warning" then | |
148 | style = warning | |
149 | end | |
150 | local Notification = Instance.new("ScreenGui") | |
151 | local Frame = Instance.new("Frame") | |
152 | local TextLabel = Instance.new("TextLabel") | |
153 | local IMAGE = Instance.new("ImageLabel") | |
154 | Notification.Name = "Notification" | |
155 | Notification.Parent = game.Players.LocalPlayer.PlayerGui | |
156 | Notification.ResetOnSpawn = false | |
157 | Frame.Parent = Notification | |
158 | Frame.BackgroundColor3 = Color3.new(0.164706, 0.164706, 0.164706) | |
159 | Frame.BackgroundTransparency = 0.20000000298023 | |
160 | Frame.BorderSizePixel = 0 | |
161 | Frame.Position = UDim2.new(0, 0, -0.2, 0) | |
162 | Frame.Size = UDim2.new(1, 0, 0, 30) | |
163 | TextLabel.Parent = Frame | |
164 | TextLabel.BackgroundColor3 = Color3.new(1, 1, 1) | |
165 | TextLabel.BackgroundTransparency = 1 | |
166 | TextLabel.Size = UDim2.new(1, 0, 1, 0) | |
167 | TextLabel.Font = Enum.Font.SourceSansLight | |
168 | TextLabel.Text = msg | |
169 | TextLabel.TextColor3 = Color3.new(0.905882, 0.905882, 0.905882) | |
170 | TextLabel.TextScaled = true | |
171 | TextLabel.TextSize = 14 | |
172 | TextLabel.TextWrapped = true | |
173 | IMAGE.Parent = Frame | |
174 | IMAGE.BackgroundTransparency = 1 | |
175 | IMAGE.Size = UDim2.new(0, 50, 0, 50) | |
176 | IMAGE.Position = UDim2.new(0.1, 0, 0, 0) | |
177 | IMAGE.Image = style | |
178 | local Intro = Instance.new("ScreenGui") | |
179 | local Frame2 = Instance.new("Frame") | |
180 | local IMAGE2 = Instance.new("ImageLabel") | |
181 | Intro.Name = "Intro" | |
182 | Intro.Parent = game.Players.LocalPlayer.PlayerGui | |
183 | Intro.ResetOnSpawn = false | |
184 | Frame2.Parent = Intro | |
185 | Frame2.BackgroundTransparency = 1 | |
186 | Frame2.BorderSizePixel = 0 | |
187 | Frame2.Position = UDim2.new(0, 0, -0.2, 0) | |
188 | Frame2.Size = UDim2.new(1, 0, 0, 30) | |
189 | IMAGE2.Parent = Frame | |
190 | IMAGE2.BackgroundTransparency = 1 | |
191 | IMAGE2.AnchorPoint = Vector2.new(0.5, 0) | |
192 | IMAGE2.Size = UDim2.new(0, 240, 0, 120) | |
193 | IMAGE2.Position = UDim2.new(0.5, 0, 0, 0) | |
194 | IMAGE2.Image = "http://www.roblox.com/asset/?id=1795472522" | |
195 | Frame2:TweenPosition(UDim2.new(0, 0, 0, 200), "Out", "Quad", 1.5) | |
196 | Frame:TweenPosition(UDim2.new(0, 0, 0, 0), "Out", "Quad", 1.5) | |
197 | wait(length) | |
198 | pcall(function() | |
199 | Frame:TweenPosition(UDim2.new(0, 0, -1.5, 0), "Out", "Quad", 3) | |
200 | Frame2:TweenPosition(UDim2.new(0, 0, -1.5, 0), "Out", "Quad", 3) | |
201 | end) | |
202 | wait(3.01) | |
203 | Intro:Destroy() | |
204 | Notification:Destroy() | |
205 | end | |
206 | function Notification(style, msg, length) | |
207 | if gsCoreGui:FindFirstChild("Notification") then | |
208 | gsCoreGui:FindFirstChild("Notification"):Destroy() | |
209 | end | |
210 | local info = "http://www.roblox.com/asset/?id=1281284684" | |
211 | local warning = "http://www.roblox.com/asset/?id=1281286925" | |
212 | if style == "info" then | |
213 | style = info | |
214 | elseif style == "warning" then | |
215 | style = warning | |
216 | end | |
217 | local Notification = Instance.new("ScreenGui") | |
218 | local Frame = Instance.new("Frame") | |
219 | local TextLabel = Instance.new("TextLabel") | |
220 | local IMAGE = Instance.new("ImageLabel") | |
221 | Notification.Name = "Notification" | |
222 | Notification.Parent = game.Players.LocalPlayer.PlayerGui | |
223 | Notification.ResetOnSpawn = false | |
224 | Frame.Parent = Notification | |
225 | Frame.BackgroundColor3 = Color3.new(0.164706, 0.164706, 0.164706) | |
226 | Frame.BackgroundTransparency = 0.20000000298023 | |
227 | Frame.BorderSizePixel = 0 | |
228 | Frame.Position = UDim2.new(0, 0, -0.2, 0) | |
229 | Frame.Size = UDim2.new(1, 0, 0, 30) | |
230 | TextLabel.Parent = Frame | |
231 | TextLabel.BackgroundColor3 = Color3.new(1, 1, 1) | |
232 | TextLabel.BackgroundTransparency = 1 | |
233 | TextLabel.Size = UDim2.new(1, 0, 1, 0) | |
234 | TextLabel.Font = Enum.Font.SourceSansLight | |
235 | TextLabel.Text = msg | |
236 | TextLabel.TextColor3 = Color3.new(0.905882, 0.905882, 0.905882) | |
237 | TextLabel.TextScaled = true | |
238 | TextLabel.TextSize = 14 | |
239 | TextLabel.TextWrapped = true | |
240 | IMAGE.Parent = Frame | |
241 | IMAGE.BackgroundTransparency = 1 | |
242 | IMAGE.Size = UDim2.new(0, 50, 0, 50) | |
243 | IMAGE.Position = UDim2.new(0.1, 0, 0, 0) | |
244 | IMAGE.Image = style | |
245 | Frame:TweenPosition(UDim2.new(0, 0, 0, 0), "Out", "Quad", 1.5) | |
246 | wait(length) | |
247 | pcall(function() | |
248 | Frame:TweenPosition(UDim2.new(0, 0, -1.5, 0), "Out", "Quad", 3) | |
249 | end) | |
250 | wait(3.01) | |
251 | Notification:Destroy() | |
252 | end | |
253 | function hasTools() | |
254 | local a = false | |
255 | local b = false | |
256 | for i,v in pairs(LP.Character:GetDescendants()) do | |
257 | if v:IsA("Tool") then | |
258 | if v ~= nil then | |
259 | a = true | |
260 | else | |
261 | a = false | |
262 | end | |
263 | end | |
264 | end | |
265 | for i,k in pairs(LP.Backpack:GetDescendants()) do | |
266 | if k:IsA("Tool") then | |
267 | if k ~= nil then | |
268 | b = true | |
269 | else | |
270 | b = false | |
271 | end | |
272 | end | |
273 | end | |
274 | return a or b | |
275 | end | |
276 | Compliments = {" is the coolest person in this server!", ", I really like your avatar!", ", I really want to be your friend!", " is truly amazing. Truly!", " is incredible!", ", you are my favourite here!!", ", I am complimenting you right now at this very moment.", " you are really awesome", " when will you be my friend!?", " is such a great person", " is a fantastic person!"} | |
277 | function complimentplr(player) | |
278 | local plrName = player.Name | |
279 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(plrName..Compliments[math.random(1, #Compliments)], "All") | |
280 | end | |
281 | function createINFO(player) | |
282 | local InfoGUIv2 = Instance.new("ScreenGui") | |
283 | local Frame = Instance.new("Frame") | |
284 | local Frame_2 = Instance.new("Frame") | |
285 | local infoguiCLOSE = Instance.new("TextButton") | |
286 | local Frame_3 = Instance.new("Frame") | |
287 | local playerName = Instance.new("TextLabel") | |
288 | local Frame_4 = Instance.new("Frame") | |
289 | local playerAvatar = Instance.new("ImageLabel") | |
290 | local playerAccAge = Instance.new("TextLabel") | |
291 | local playerId = Instance.new("TextLabel") | |
292 | local playerOs = Instance.new("TextLabel") | |
293 | local playerMembership = Instance.new("TextLabel") | |
294 | local Frame_5 = Instance.new("Frame") | |
295 | local Frame_6 = Instance.new("Frame") | |
296 | InfoGUIv2.Name = "InfoGUIv2" | |
297 | InfoGUIv2.Parent = game.Players.LocalPlayer.PlayerGui | |
298 | InfoGUIv2.ResetOnSpawn = false | |
299 | Frame.Parent = InfoGUIv2 | |
300 | Frame.BackgroundColor3 = Color3.new(0, 0, 0) | |
301 | Frame.BackgroundTransparency = 1 | |
302 | Frame.BorderColor3 = Color3.new(0, 0, 0) | |
303 | Frame.ClipsDescendants = true | |
304 | Frame.Position = UDim2.new(0.45, 0, 1, 0) | |
305 | Frame.Size = UDim2.new(0, 265, 0, 302) | |
306 | Frame.ZIndex = -1 | |
307 | Frame_2.Parent = Frame | |
308 | Frame_2.BackgroundColor3 = Color3.new(0.290196, 0, 0.447059) | |
309 | Frame_2.BorderSizePixel = 0 | |
310 | Frame_2.Size = UDim2.new(0, 260, 0, 20) | |
311 | infoguiCLOSE.Name = "infoguiCLOSE" | |
312 | infoguiCLOSE.Parent = Frame_2 | |
313 | infoguiCLOSE.BackgroundColor3 = Color3.new(1, 1, 1) | |
314 | infoguiCLOSE.BackgroundTransparency = 1 | |
315 | infoguiCLOSE.BorderSizePixel = 0 | |
316 | infoguiCLOSE.Position = UDim2.new(0, 230, 0, 0) | |
317 | infoguiCLOSE.Size = UDim2.new(0, 30, 0, 20) | |
318 | infoguiCLOSE.Font = Enum.Font.SourceSansBold | |
319 | infoguiCLOSE.Text = "X" | |
320 | infoguiCLOSE.TextColor3 = Color3.new(0.992157, 0.992157, 0.992157) | |
321 | infoguiCLOSE.TextSize = 20 | |
322 | Frame_3.Parent = Frame | |
323 | Frame_3.BackgroundColor3 = Color3.new(0.482353, 0.121569, 0.635294) | |
324 | Frame_3.BorderSizePixel = 0 | |
325 | Frame_3.Position = UDim2.new(0, 0, 0, 20) | |
326 | Frame_3.Size = UDim2.new(0, 260, 0, 40) | |
327 | playerName.Name = "playerName" | |
328 | playerName.Parent = Frame_3 | |
329 | playerName.BackgroundColor3 = Color3.new(1, 1, 1) | |
330 | playerName.BackgroundTransparency = 1 | |
331 | playerName.Position = UDim2.new(0, 10, 0, 5) | |
332 | playerName.Size = UDim2.new(0, 240, 0, 30) | |
333 | playerName.Font = Enum.Font.SourceSansLight | |
334 | playerName.Text = player.Name | |
335 | playerName.TextColor3 = Color3.new(0.988235, 0.988235, 0.988235) | |
336 | playerName.TextScaled = true | |
337 | playerName.TextSize = 14 | |
338 | playerName.TextWrapped = true | |
339 | Frame_4.Parent = Frame | |
340 | Frame_4.BackgroundColor3 = Color3.new(0.956863, 0.956863, 0.956863) | |
341 | Frame_4.BorderSizePixel = 0 | |
342 | Frame_4.Position = UDim2.new(0, 0, 0, 60) | |
343 | Frame_4.Size = UDim2.new(0, 260, 0, 237) | |
344 | playerAvatar.Name = "playerAvatar" | |
345 | playerAvatar.Parent = Frame_4 | |
346 | playerAvatar.BackgroundColor3 = Color3.new(1, 1, 1) | |
347 | playerAvatar.Position = UDim2.new(0, 85, 0, 10) | |
348 | playerAvatar.Size = UDim2.new(0, 85, 0, 85) | |
349 | playerAvatar.Image = "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=150&Format=Png&username="..player.Name | |
350 | playerAccAge.Name = "playerAccAge" | |
351 | playerAccAge.Parent = Frame_4 | |
352 | playerAccAge.BackgroundColor3 = Color3.new(1, 1, 1) | |
353 | playerAccAge.BackgroundTransparency = 1 | |
354 | playerAccAge.Position = UDim2.new(0, 5, 0, 101) | |
355 | playerAccAge.Size = UDim2.new(0, 250, 0, 30) | |
356 | playerAccAge.Font = Enum.Font.SourceSans | |
357 | playerAccAge.Text = "Account Age: "..player.AccountAge | |
358 | playerAccAge.TextColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
359 | playerAccAge.TextScaled = true | |
360 | playerAccAge.TextSize = 14 | |
361 | playerAccAge.TextWrapped = true | |
362 | playerId.Name = "playerId" | |
363 | playerId.Parent = Frame_4 | |
364 | playerId.BackgroundColor3 = Color3.new(1, 1, 1) | |
365 | playerId.BackgroundTransparency = 1 | |
366 | playerId.Position = UDim2.new(0, 5, 0, 131) | |
367 | playerId.Size = UDim2.new(0, 250, 0, 30) | |
368 | playerId.Font = Enum.Font.SourceSans | |
369 | playerId.Text = "Account ID: "..player.UserId | |
370 | playerId.TextColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
371 | playerId.TextScaled = true | |
372 | playerId.TextSize = 14 | |
373 | playerId.TextWrapped = true | |
374 | playerOs.Name = "playerOs" | |
375 | playerOs.Parent = Frame_4 | |
376 | playerOs.BackgroundColor3 = Color3.new(1, 1, 1) | |
377 | playerOs.BackgroundTransparency = 1 | |
378 | playerOs.Position = UDim2.new(0, 5, 0, 161) | |
379 | playerOs.Size = UDim2.new(0, 250, 0, 30) | |
380 | playerOs.Font = Enum.Font.SourceSansLight | |
381 | playerOs.Text = "Player OS: "..player.OsPlatform | |
382 | playerOs.TextColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
383 | playerOs.TextScaled = true | |
384 | playerOs.TextSize = 14 | |
385 | playerOs.TextWrapped = true | |
386 | playerMembership.Name = "playerMembership" | |
387 | playerMembership.Parent = Frame_4 | |
388 | playerMembership.BackgroundColor3 = Color3.new(1, 1, 1) | |
389 | playerMembership.BackgroundTransparency = 1 | |
390 | playerMembership.Position = UDim2.new(0, 5, 0, 191) | |
391 | playerMembership.Size = UDim2.new(0, 250, 0, 30) | |
392 | playerMembership.Font = Enum.Font.SourceSansLight | |
393 | if player.MembershipType == Enum.MembershipType.None then | |
394 | playerMembership.Text = "No builder's club." | |
395 | elseif player.MembershipType == Enum.MembershipType.BuildersClub then | |
396 | playerMembership.Text = "Builder's club!" | |
397 | elseif player.MembershipType == Enum.MembershipType.TurboBuildersClub then | |
398 | playerMembership.Text = "Turbo Builder's club!" | |
399 | elseif player.MembershipType == Enum.MembershipType.OutrageousBuildersClub then | |
400 | playerMembership.Text = "Outrageous Builder's club!" | |
401 | end | |
402 | playerMembership.TextColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
403 | playerMembership.TextScaled = true | |
404 | playerMembership.TextSize = 14 | |
405 | playerMembership.TextWrapped = true | |
406 | Frame_5.Parent = Frame | |
407 | Frame_5.BackgroundColor3 = Color3.new(0, 0, 0) | |
408 | Frame_5.BackgroundTransparency = 0.69999998807907 | |
409 | Frame_5.BorderColor3 = Color3.new(0, 0, 0) | |
410 | Frame_5.BorderSizePixel = 0 | |
411 | Frame_5.ClipsDescendants = true | |
412 | Frame_5.Position = UDim2.new(0, 10, 0, 10) | |
413 | Frame_5.Selectable = true | |
414 | Frame_5.Size = UDim2.new(0, 255, 0, 292) | |
415 | Frame_5.ZIndex = -1 | |
416 | Frame_6.Parent = Frame | |
417 | Frame_6.BackgroundColor3 = Color3.new(0, 0, 0) | |
418 | Frame_6.BackgroundTransparency = 0.69999998807907 | |
419 | Frame_6.BorderColor3 = Color3.new(0, 0, 0) | |
420 | Frame_6.BorderSizePixel = 0 | |
421 | Frame_6.ClipsDescendants = true | |
422 | Frame_6.Position = UDim2.new(0, 8, 0, 8) | |
423 | Frame_6.Selectable = true | |
424 | Frame_6.Size = UDim2.new(0, 255, 0, 292) | |
425 | Frame_6.ZIndex = -1 | |
426 | local closeGet = {} | |
427 | closeGet.Size = UDim2.new(0, 0, 0, 0) | |
428 | local openGet = {} | |
429 | openGet.Position = UDim2.new(0.45, 0, 0.45, 0) | |
430 | local closeFunction = gsTween:Create(Frame, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), closeGet) | |
431 | local openFunction = gsTween:Create(Frame, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), openGet) | |
432 | infoguiCLOSE.MouseButton1Click:Connect(function() | |
433 | closeFunction:Play() | |
434 | Frame:TweenPosition((Frame.Position + UDim2.new(0, 265 / 2, 0, 302 / 2)), "InOut", "Sine", 2) | |
435 | wait(2.01) | |
436 | Frame:Destroy() | |
437 | end) | |
438 | openFunction:Play() | |
439 | local UserInputService = game:GetService("UserInputService") | |
440 | local dragging | |
441 | local dragInput | |
442 | local dragStart | |
443 | local startPos | |
444 | local function update(input) | |
445 | local delta = input.Position - dragStart | |
446 | local dragTime = 0.055 | |
447 | local SmoothDrag = {} | |
448 | SmoothDrag.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) | |
449 | local dragSmoothFunction = gsTween:Create(Frame, TweenInfo.new(dragTime, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), SmoothDrag) | |
450 | dragSmoothFunction:Play() | |
451 | end | |
452 | Frame.InputBegan:Connect(function(input) | |
453 | if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then | |
454 | dragging = true | |
455 | dragStart = input.Position | |
456 | startPos = Frame.Position | |
457 | input.Changed:Connect(function() | |
458 | if input.UserInputState == Enum.UserInputState.End then | |
459 | dragging = false | |
460 | end | |
461 | end) | |
462 | end | |
463 | end) | |
464 | Frame.InputChanged:Connect(function(input) | |
465 | if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then | |
466 | dragInput = input | |
467 | end | |
468 | end) | |
469 | UserInputService.InputChanged:Connect(function(input) | |
470 | if input == dragInput and dragging and Frame.Size == UDim2.new(0, 265, 0, 302) then | |
471 | update(input) | |
472 | end | |
473 | end) | |
474 | end | |
475 | function clientSided() | |
476 | Notification("info", "This command is for the client (you) only, no one else can see!", 6) | |
477 | end | |
478 | searchCmds={"1 print [msg] - Prints a message to the developer console","2 warn [msg] - Warns a message to the developer console","3 sit - Makes you sit","4 god - Activates FE Godmode (breaks tools)","5 view [plr] - Changes your camera subject to another player","6 unview - Changes your camera back to your player","7 gravity [num] - Changes workspace gravity to [num]","8 ungravity - Reverts workspace gravity to game's default","9 goto [plr] - Teleports you to a player","10 fecheck - Checks whether the game is FE or not","11 lockws - Locks the whole workspace","12 unlockws - Unlocks the whole workspace","13 noclip - Allows you to walk through walls and other objects","14 clip - Stops noclip, can collide","15 follow [plr] / [num] - Makes you follow a player constantly, optional [num] for how far away to follow","16 unfollow - Stops you from following","17 fling [plr] / [pow] - Uses your character to fling a player, optional [pow] for how much power to put into the fling","18 unfling - Stops you from flinging","19 trail [plr] / [num] - Makes you trail (walk infront) of a player constantly, optional [num] for how far away to trail","20 untrail - Stops you from trailing","21 annoy [plr] - Loop teleports you to the player","22 unannoy - Stops loop teleporting you","23 reset - Resets your character","24 grespawn - Respawns your character, best for use after FE godmode","25 respawn - Respawns your character, best to use if grespawn fails to work","26 speed // ws [num] - Changes your walkspeed (speed or ws) to [num]","27 jumppower // jp [num] - Changes your jumppower (jumppower or jp) to [num]","28 hipheight // hh [num] - Changes your hipheight (hipheight or hh) to [num]","29 default - Changes your walkspeed, jumppower and hipheight back to normal","30 credits - Displays admin credits (by illremember#3799)","31 attach [plr] - Attaches you to a player, tool required","32 fly / [speed] - Enables fly, optional [speed] for how fast to fly","33 unfly - Disables fly","34 kill [plr] - Kills a player, tool required","35 bring [plr] - Brings a player, tool required","36 naked - Displays avatar body colours","37 nolimbs - Deletes all your arms and legs","38 noarms - Deletes both your arms","39 nolegs - Deletes both your legs","40 antikick [on/off] - Blocks all remotes for antikick when on, disables when off","41 blockremote [remote] / [service] - Blocks a remote from firing, optional [service] for where the remote is located","42 remotespy [on/off] - Prints all remotes to developer console when on when fired, stops printing when off","43 bang [plr] / [speed] - Bangs a player, optional [speed] to set animation adjust speed","44 unbang - Stops bang player","45 spam [msg] - Spams [msg] in chat","46 spamdelay [num] - Sets how long to wait in between spamming","47 unspam - Stops spamming","48 info [plr] - Creates GUI with information about player account, shows Account age, membership and account ID","49 age [plr] - Chats account age of player","50 invisible - Enables FE invisibility, by Timeless","51 walk [plr] - Begins to make you loop walk towards player","52 glitch [plr] / [num] - Glitches a player, tool required, optional [num] for strength of glitch","53 tp [plr] [plr] - Teleports a player to another player, tool required","54 givetool [plr] / [tool] - Gives your current equipped tool to player, optional [tool] to pick a tool by name from your inventory","55 givealltools [plr] - Gives all tools currently equipped and in inventory to player","56 blockhats - Removes mesh of all accessories","57 blocktool - Removes mesh of currently equipped tool","58 orbit [plr] - Begins to make you orbit around a player","59 unorbit - Stops you orbiting a player","60 pos - Shows your current position","61 savepos - Saves your current position","62 loadpos - Loads your current position from savepos","63 tppos [num] [num] [num] - Teleports you to position [num], [num], [num]","64 pmspam [plr] [msg] - Makes you spam a player's pm with [msg]","65 unpmspam - Stops spamming a player's pm","66 wsvis [num] - Changes all parts in workspace to [num] transparency","67 bringobj [obj] / [num] - Brings an object in the workspace to you, optional [num] for how far away to bring object","68 cbring [plr] - Brings a player to you constantly on client","69 uncbring - Stops bringing a player to you on client","70 cfreeze [plr] - Freezes a player on your client","71 uncfreeze / [plr] - Unfreezes a player on your cleint","72 unattach - Unattaches you from a player","73 reach [on/off] / [num] - Activates/Deactivates reach for currently equipped tool, optional [num] for how long the reach should be","74 droptool / [tool] - Drops a tool into the workspace, optional [tool] command for which tool to drop","75 drophats - Drops all your accessories into the workspace","76 hidecmdbar - Hides the command bar","77 showcmdbar - Shows the command bar","78 prefix [key] - Changes your prefix to [key] must be 1 character","79 removeinvis - Removes all invisible parts in workspace","80 removefog - Removes fog in lighting","81 animation [id/gui] / [speed] - Makes you play an animation with [id], optional [speed] for adjusting animation speed OR [gui] to open Energize animation GUI","82 btools - Gives you btools for deleting, copying and dragging (client side)","83 esp [plr] - Enables an esp for that player, credits to Infinite Yield","84 unesp / [plr] - Disables all esp, optional [plr] for disabling esp just for that player","85 dice - Chats you rolling a dice for 1, 2, 3, 4, 5 or 6","86 random [min] [max] - Chats you picking a random number between [min] and [max]","87 closegame - Shutsdown/closes your game","88 savetool / [tool] - Saves a tool to your player equipped, optional [tool] for which tool to save in your inventory","89 loadtool / [tool] - Loads a tool from your player, optional [tool] for which tool to load by name","90 savealltool - Saves all tools in your character/inventory","91 loadalltool - Loads all tools in your player saved tools","92 clicktp / [key] - Enables click teleport, optional [key] to set a key instead of clicking","93 clickdel / [key] - Enables click delete part, optional [key] to set a key instead of clicking","94 unclicktp - Disables clicktp","95 unclickdel - Disables clickdel","96 shutdown - Attempts a server shutdown","97 chatlogs - Opens up a chat log gui with options to print chat to developer console","98 stopadmin - Disables currently running admin completely","99 freecam / [speed] - Enables freecam (like flying but not in character), optional [speed] for how fast the freecam should go","100 unfreecam // unfc - Disables freecam","101 fctp [plr] - Teleports your freecam to player","102 gotofc - Teleports you to current freecam position","103 cmds - Opens up this GUI with commands","104 fullcredits - Shows full individual credits for all help with the admin","105 hotkey [key] [cmd] - Creates a hotkey that executes [cmd] when [key] is pressed","106 removehotkey [key] - Removes a hotkey with [key]","107 removeallhotkey - Removes all current hotkeys for commands","108 printhotkeys - Prints all current existing hotkeys","109 os [plr] - Chats the current OS of a player","110 spin [plr] - Makes you spin with a player, tool required","111 unspin - Stops you spinning a player/teleporting to a player","112 explorer - Loads DEX explorer","113 maxzoom [num] - Changes your maxzoom to number","114 stare [plr] - Makes you stare at another player","115 unstare [plr] - Makes you stop staring at player","116 tempgod - Enables temporary FE godmode, does not work on all games, does not break tools","117 void [plr] - Teleports you and a player to the void, requires a tool","118 freefall [plr] - Makes you and a player freefall to the ground","119 version - Shows current admin's version","120 shiftlockon - Enables shift lock if not enabled by game developer","121 copychat [plr] - Makes you copy the chat player says, use uncopychat to stop copying chat","122 newattach [plr] - Does not FE Godmode you, requires 2 tools, attaches you to player","123 newkill [plr] - Does not FE Godmode you, requires 2 tools, kills player","124 newbring [plr] - Does not FE Godmode you, requires 2 tools, brings player","125 spawn [ws/jp/hh/god] [num] - Sets your walkspeed/jumppower/hipheight to number whenever you respawn, or makes you FE Godded whenever you respawn","126 unspawn - Stops you spawning with stats set by "..commandPrefix.."spawn","127 autosavetool [on/off] - Auto saves your tools when you reset","128 beginbot / [mode] - Makes you a bot for other players, type just "..commandPrefix.."beginbot to print available modes","129 endbot / [mode] - Ends "..commandPrefix.."beginbot, optional [mode] to disable one mode only","130 stopsit - Disables your ability to sit","131 gosit - Enables your ability to sit","132 spawnpoint - Sets your spawnpoint for whenever you reset to where you are","133 nospawn - Removes your spawnpoint","134 chaterror - Creates a chat error, works best first time","135 bypass [on/off] - Changes certain commands like "..commandPrefix.."fly so they are not detected by most anti-exploits", "136 fixcam - Fixes your camera in case it breaks", "137 gotoobj [obj] - Teleports you to a part in the workspace, make sure you put the name properly!", "138 breakcam - Makes it so your camera can go through parts, fixed with "..commandPrefix.."fixcam", "139 inviscam - Makes it so your camera goes through parts and makes them transparent so your character is always visible, fixed with "..commandPrefix.."fixcam", "140 printobj / [key] - Prints the object's path clicked to developer console, optional [key] for key pressed instead of click", "141 unprintobj - Stops printobj from running", "142 hotkeyfc [goto/unfc] - If freecam is set as a hotkey, chooses whether to use unfreecam or gotofc when disabling through a hotkey", "143 carpet [plr] - Makes you a carpet for a player", "144 uncarpet - Stops carpet", "145 brickcreate [num] / [pos] [pos] [pos] - Creates [num] amount of bricks from accessories, wont work in all games, optional [pos] for position to create bricks", "146 uncopychat - Stops copying chat", "147 forward / [speed] - Makes you automatically move forward default speed is 1", "148 unforward - Stops you moving automatically forward from forward", "149 id [plr] - Makes you chat the user ID of the player", "150 spinhats / [pow] - Makes all your accessories begin to spin around! Credit to xFunnieuss.", "151 unspinhats - Stops spinhats from spinning accessories", "152 headless - Makes you headless, but cannot control your character after, use grespawn to reset", "153 savemap - Saves the current workspace/map", "154 loadmap - Loads map saved by savemap", "155 creatorid - Changes your user ID to the game creator's user ID", "156 gameid - Shows the game's ID", "157 delobj [obj] - Allows you to delete an object in the workspace by name", "158 glide [plr] / [speed] - Makes you glide towards a player, optional [speed] for the speed of gliding", "159 stutter [on/off] - Makes your character begin stuttering as you move", "160 platform - Creates a platform on your client that you can stand on, deletes in 20 seconds", "161 servertime - Gets the server time", "162 ride [plr] - Makes you ride a player's head", "163 unride [plr] - Makes you stop riding a player's head", "164 cmute [plr] - Client mutes a player, useful for muting spammers", "165 uncmute - Unmutes a player that has been cmuted", "166 hat [plr] - Makes you carpet a player, but on their head", "167 unhat - Stops hat from running", "168 chat [msg] - Makes you chat a string, useful for hotkeys"} | |
479 | CMDS={"print [msg]","warn [msg]","sit","god","view [plr]","unview","gravity [num]","ungravity","goto [plr]","fecheck","lockws","unlockws","noclip","clip","follow [plr] / [num]","unfollow","fling [plr] / [pow]","unfling","trail [plr] / [num]","untrail","annoy [plr]","unannoy","reset","grespawn","respawn","speed // ws [num]","jumppower // jp [num]","hipheight // hh [num]","default","credits","attach [plr]","fly / [speed]","unfly","kill [plr]","bring [plr]","naked","nolimbs","noarms","nolegs","antikick [on/off]","blockremote [remote] / [service]","remotespy [on/off]","bang [plr] / [speed]","unbang","spam [msg]","spamdelay [num]","unspam","info [plr]","age [plr]","invisible","walk [plr]","glitch [plr] / [num]","tp [plr] [plr]","givetool [plr] / [tool]","givealltools [plr]","blockhats","blocktool","orbit [plr]","unorbit","pos","savepos","loadpos","tppos [num] [num] [num]","pmspam [plr] [msg]","unpmspam","wsvis [num]","bringobj [obj] / [num]","cbring [plr] / [num]","uncbring","cfreeze [plr]","uncfreeze / [plr]","unattach","reach [on/off] / [num]","droptool / [tool]","drophats","hidecmdbar","showcmdbar","prefix [key]","removeinvis","removefog","animation [id/gui] / [speed]","btools","esp [plr]","unesp / [plr]","dice","random [min] [max]","closegame","savetool / [tool]","loadtool / [tool]","savealltool","loadalltool","clicktp / [key]","clickdel / [key]","unclicktp","unclickdel","oof","chatlogs","stopadmin","freecam / [speed] // fc / [speed]","unfreecam // unfc","gotofc","cmds","fullcredits","hotkey [key] [cmd]","removehotkey [key]","removeallhotkey","printhotkeys","os [plr]","spin [plr]","unspin","fctp [plr]","explorer","maxzoom [num]","stare [plr]","unstare [plr]","tempgod","void [plr]","freefall [plr]","version","shiftlockon","copychat [plr]","newattach [plr]","newkill [plr]","newbring [plr]","spawn [ws/jp/hh/god] [num]","unspawn","autosavetool [on/off]","beginbot / [mode]","endbot / [mode]","stopsit","gosit","spawnpoint","nospawn","chaterror", "bypass [on/off]", "fixcam", "gotoobj [obj]", "breakcam", "inviscam", "printobj / [key]", "unprintobj", "hotkeyfc [goto/unfc]", "carpet [plr]", "uncarpet", "brickcreate [num] / [pos] [pos] [pos]", "uncopychat", "forward / [speed]", "unforward", "id [plr]", "spinhats / [pow]", "unspinhats", "headless", "savemap", "loadmap", "creatorid", "gameid", "delobj [obj]", "glide [plr] / [speed]", "stutter [on/off]", "platform", "servertime", "ride [plr]", "unride", "cmute [plr]", "uncmute", "hat [plr]", "unhat", "chat [msg]"} -- 168 | |
480 | local CMDS_GUI_V2 = Instance.new("ScreenGui") | |
481 | local CMDSmain = Instance.new("Frame") | |
482 | local CMDSframemain = Instance.new("Frame") | |
483 | local cmdgui_topframe = Instance.new("Frame") | |
484 | local closecmdsgui = Instance.new("TextButton") | |
485 | local cmdgui_midframe = Instance.new("Frame") | |
486 | local cmdsgui_SearchFunction = Instance.new("TextBox") | |
487 | local cmdsgui_searchDETAILFRAME = Instance.new("Frame") | |
488 | local cmdsgui_searchDETAILTEXT = Instance.new("TextLabel") | |
489 | local ListofCMDS = Instance.new("ScrollingFrame") | |
490 | local cmdTutorial = Instance.new("TextLabel") | |
491 | local cmdTutorial_2 = Instance.new("TextLabel") | |
492 | local cmdTutorial_3 = Instance.new("TextLabel") | |
493 | local CMDS_Shadow = Instance.new("Frame") | |
494 | local CMDS_Shadow2 = Instance.new("Frame") | |
495 | CMDS_GUI_V2.Name = "CMDS_GUI_V2" | |
496 | CMDS_GUI_V2.Parent = game.Players.LocalPlayer.PlayerGui | |
497 | CMDS_GUI_V2.ResetOnSpawn = false | |
498 | CMDSmain.Name = "CMDSmain" | |
499 | CMDSmain.Parent = CMDS_GUI_V2 | |
500 | CMDSmain.BackgroundColor3 = Color3.new(1, 1, 1) | |
501 | CMDSmain.BackgroundTransparency = 1 | |
502 | CMDSmain.Position = UDim2.new(0, 695, 0, 297) | |
503 | CMDSmain.Size = UDim2.new(0, 440, 0, 367) | |
504 | CMDSmain.AnchorPoint = Vector2.new(0.5, 0.5) | |
505 | CMDSmain.Visible = false | |
506 | CMDSmain.ClipsDescendants = true | |
507 | CMDSframemain.Name = "CMDSframemain" | |
508 | CMDSframemain.Parent = CMDSmain | |
509 | CMDSframemain.BackgroundColor3 = Color3.new(0.309804, 0.309804, 0.309804) | |
510 | CMDSframemain.BorderSizePixel = 0 | |
511 | CMDSframemain.Size = UDim2.new(0, 440, 0, 367) | |
512 | cmdgui_topframe.Name = "cmdgui_topframe" | |
513 | cmdgui_topframe.Parent = CMDSframemain | |
514 | cmdgui_topframe.BackgroundColor3 = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
515 | cmdgui_topframe.BorderSizePixel = 0 | |
516 | cmdgui_topframe.Size = UDim2.new(0, 440, 0, 15) | |
517 | closecmdsgui.Name = "closecmdsgui" | |
518 | closecmdsgui.Parent = cmdgui_topframe | |
519 | closecmdsgui.BackgroundColor3 = Color3.new(1, 1, 1) | |
520 | closecmdsgui.BackgroundTransparency = 1 | |
521 | closecmdsgui.Position = UDim2.new(0, 410, 0, 0) | |
522 | closecmdsgui.Size = UDim2.new(0, 30, 0, 15) | |
523 | closecmdsgui.Font = Enum.Font.SourceSansBold | |
524 | closecmdsgui.Text = "X" | |
525 | closecmdsgui.TextColor3 = Color3.new(0.968628, 0.968628, 0.968628) | |
526 | closecmdsgui.TextSize = 20 | |
527 | cmdgui_midframe.Name = "cmdgui_midframe" | |
528 | cmdgui_midframe.Parent = CMDSframemain | |
529 | cmdgui_midframe.BackgroundColor3 = Color3.new(0.14902, 0.14902, 0.14902) | |
530 | cmdgui_midframe.BorderSizePixel = 0 | |
531 | cmdgui_midframe.Position = UDim2.new(0, 0, 0, 15) | |
532 | cmdgui_midframe.Size = UDim2.new(0, 440, 0, 45) | |
533 | cmdsgui_SearchFunction.Name = "cmdsgui_SearchFunction" | |
534 | cmdsgui_SearchFunction.Parent = cmdgui_midframe | |
535 | cmdsgui_SearchFunction.BackgroundColor3 = Color3.new(1, 1, 1) | |
536 | cmdsgui_SearchFunction.BackgroundTransparency = 1 | |
537 | cmdsgui_SearchFunction.BorderSizePixel = 0 | |
538 | cmdsgui_SearchFunction.Position = UDim2.new(0, 120, 0, 10) | |
539 | cmdsgui_SearchFunction.Size = UDim2.new(0, 200, 0, 25) | |
540 | cmdsgui_SearchFunction.Font = Enum.Font.SourceSans | |
541 | cmdsgui_SearchFunction.Text = "" | |
542 | cmdsgui_SearchFunction.TextColor3 = Color3.new(0.972549, 0.972549, 0.972549) | |
543 | cmdsgui_SearchFunction.TextScaled = true | |
544 | cmdsgui_SearchFunction.TextSize = 14 | |
545 | cmdsgui_SearchFunction.TextWrapped = true | |
546 | cmdsgui_searchDETAILFRAME.Name = "cmdsgui_searchDETAILFRAME" | |
547 | cmdsgui_searchDETAILFRAME.Parent = cmdsgui_SearchFunction | |
548 | cmdsgui_searchDETAILFRAME.BackgroundColor3 = Color3.fromRGB(240, 240, 240) | |
549 | cmdsgui_searchDETAILFRAME.BorderSizePixel = 0 | |
550 | cmdsgui_searchDETAILFRAME.Position = UDim2.new(0, 0, 0, 25) | |
551 | cmdsgui_searchDETAILFRAME.Size = UDim2.new(0, 200, 0, 2) | |
552 | cmdsgui_searchDETAILTEXT.Name = "cmdsgui_searchDETAILTEXT" | |
553 | cmdsgui_searchDETAILTEXT.Parent = cmdsgui_SearchFunction | |
554 | cmdsgui_searchDETAILTEXT.BackgroundColor3 = Color3.fromRGB(240, 240, 240) | |
555 | cmdsgui_searchDETAILTEXT.BackgroundTransparency = 1 | |
556 | cmdsgui_searchDETAILTEXT.Size = UDim2.new(0, 200, 0, 25) | |
557 | cmdsgui_searchDETAILTEXT.Font = Enum.Font.SourceSansLight | |
558 | cmdsgui_searchDETAILTEXT.Text = "Search" | |
559 | cmdsgui_searchDETAILTEXT.TextColor3 = Color3.fromRGB(240, 240, 240) | |
560 | cmdsgui_searchDETAILTEXT.TextSize = 30 | |
561 | ListofCMDS.Name = "ListofCMDS" | |
562 | ListofCMDS.Parent = CMDSframemain | |
563 | ListofCMDS.BackgroundColor3 = Color3.new(0.309804, 0.309804, 0.309804) | |
564 | ListofCMDS.BorderSizePixel = 0 | |
565 | ListofCMDS.Position = UDim2.new(0, 0, 0, 60) | |
566 | ListofCMDS.Size = UDim2.new(0, 440, 0, 307) | |
567 | ListofCMDS.CanvasSize = UDim2.new(5, 0, 8, 0) | |
568 | ListofCMDS.ScrollingDirection = Enum.ScrollingDirection.XY | |
569 | cmdTutorial.Name = "cmdTutorial" | |
570 | cmdTutorial.Parent = ListofCMDS | |
571 | cmdTutorial.BackgroundColor3 = Color3.new(1, 1, 1) | |
572 | cmdTutorial.BackgroundTransparency = 1 | |
573 | cmdTutorial.BorderSizePixel = 0 | |
574 | cmdTutorial.Position = UDim2.new(0, 5, 0, 5) | |
575 | cmdTutorial.Size = UDim2.new(0, 420, 0, 20) | |
576 | cmdTutorial.Font = Enum.Font.SourceSansBold | |
577 | cmdTutorial.Text = "\"/\" means OPTIONAL argument after" | |
578 | cmdTutorial.TextColor3 = Color3.new(0.956863, 0.956863, 0.956863) | |
579 | cmdTutorial.TextScaled = true | |
580 | cmdTutorial.TextSize = 14 | |
581 | cmdTutorial.TextWrapped = true | |
582 | cmdTutorial.TextXAlignment = Enum.TextXAlignment.Left | |
583 | cmdTutorial_2.Name = "cmdTutorial" | |
584 | cmdTutorial_2.Parent = ListofCMDS | |
585 | cmdTutorial_2.BackgroundColor3 = Color3.new(1, 1, 1) | |
586 | cmdTutorial_2.BackgroundTransparency = 1 | |
587 | cmdTutorial_2.BorderSizePixel = 0 | |
588 | cmdTutorial_2.Position = UDim2.new(0, 5, 0, 25) | |
589 | cmdTutorial_2.Size = UDim2.new(0, 420, 0, 20) | |
590 | cmdTutorial_2.Font = Enum.Font.SourceSansBold | |
591 | cmdTutorial_2.Text = "\"//\" means another way of running command" | |
592 | cmdTutorial_2.TextColor3 = Color3.new(0.956863, 0.956863, 0.956863) | |
593 | cmdTutorial_2.TextScaled = true | |
594 | cmdTutorial_2.TextSize = 14 | |
595 | cmdTutorial_2.TextWrapped = true | |
596 | cmdTutorial_2.TextXAlignment = Enum.TextXAlignment.Left | |
597 | cmdTutorial_3.Name = "cmdTutorial" | |
598 | cmdTutorial_3.Parent = ListofCMDS | |
599 | cmdTutorial_3.BackgroundColor3 = Color3.new(1, 1, 1) | |
600 | cmdTutorial_3.BackgroundTransparency = 1 | |
601 | cmdTutorial_3.BorderSizePixel = 0 | |
602 | cmdTutorial_3.Position = UDim2.new(0, 5, 0, 45) | |
603 | cmdTutorial_3.Size = UDim2.new(0, 420, 0, 20) | |
604 | cmdTutorial_3.Font = Enum.Font.SourceSansBold | |
605 | cmdTutorial_3.Text = "Anything inside \"[ ]\" is an argument for the command" | |
606 | cmdTutorial_3.TextColor3 = Color3.new(0.956863, 0.956863, 0.956863) | |
607 | cmdTutorial_3.TextScaled = true | |
608 | cmdTutorial_3.TextSize = 14 | |
609 | cmdTutorial_3.TextWrapped = true | |
610 | cmdTutorial_3.TextXAlignment = Enum.TextXAlignment.Left | |
611 | CMDS_Shadow.Name = "CMDS_Shadow" | |
612 | CMDS_Shadow.Parent = CMDSmain | |
613 | CMDS_Shadow.BackgroundColor3 = Color3.new(0, 0, 0) | |
614 | CMDS_Shadow.BackgroundTransparency = 0.60000002384186 | |
615 | CMDS_Shadow.BorderSizePixel = 0 | |
616 | CMDS_Shadow.Position = UDim2.new(0, 2, 0, 2) | |
617 | CMDS_Shadow.Size = UDim2.new(0, 440, 0, 367) | |
618 | CMDS_Shadow.ZIndex = -1 | |
619 | CMDS_Shadow2.Name = "CMDS_Shadow2" | |
620 | CMDS_Shadow2.Parent = CMDSmain | |
621 | CMDS_Shadow2.BackgroundColor3 = Color3.new(0, 0, 0) | |
622 | CMDS_Shadow2.BackgroundTransparency = 0.80000001192093 | |
623 | CMDS_Shadow2.BorderSizePixel = 0 | |
624 | CMDS_Shadow2.Position = UDim2.new(0, 5, 0, 5) | |
625 | CMDS_Shadow2.Size = UDim2.new(0, 440, 0, 367) | |
626 | CMDS_Shadow2.ZIndex = -1 | |
627 | closecmdsgui.MouseButton1Click:Connect(function() | |
628 | CMDSmain:TweenSize(UDim2.new(0, 0, 0, 0), "InOut", "Sine", 2) | |
629 | end) | |
630 | function CreateCMDlabel(position, text) | |
631 | local sizenow = 15 | |
632 | local cmdHere = Instance.new("TextLabel") | |
633 | cmdHere.Name = "cmdHere" | |
634 | cmdHere.TextWrapped = true | |
635 | cmdHere.Parent = ListofCMDS | |
636 | cmdHere.BackgroundColor3 = Color3.new(1, 1, 1) | |
637 | cmdHere.BackgroundTransparency = 1 | |
638 | cmdHere.BorderSizePixel = 0 | |
639 | cmdHere.Position = position | |
640 | cmdHere.Size = UDim2.new(0, 1950, 0, sizenow) | |
641 | cmdHere.Font = Enum.Font.SourceSans | |
642 | cmdHere.Text = text | |
643 | cmdHere.TextWrapped = true | |
644 | cmdHere.TextColor3 = Color3.new(0.956863, 0.956863, 0.956863) | |
645 | cmdHere.TextScaled = false | |
646 | cmdHere.TextSize = 20 | |
647 | cmdHere.TextXAlignment = Enum.TextXAlignment.Left | |
648 | end | |
649 | for i,_cmds in pairs(searchCmds) do | |
650 | CreateCMDlabel(UDim2.new(0, 5, 0, 50 + (i * 15)), _cmds) | |
651 | end | |
652 | local UserInputService = game:GetService("UserInputService") | |
653 | local dragging | |
654 | local dragInput | |
655 | local dragStart | |
656 | local startPos | |
657 | local function updateCMDS(input) | |
658 | local delta = input.Position - dragStart | |
659 | local dragTime = 0.055 | |
660 | local SmoothDrag = {} | |
661 | SmoothDrag.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) | |
662 | local dragSmoothFunction = gsTween:Create(CMDSmain, TweenInfo.new(dragTime, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), SmoothDrag) | |
663 | dragSmoothFunction:Play() | |
664 | end | |
665 | cmdgui_topframe.InputBegan:Connect(function(input) | |
666 | if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then | |
667 | dragging = true | |
668 | dragStart = input.Position | |
669 | startPos = CMDSmain.Position | |
670 | input.Changed:Connect(function() | |
671 | if input.UserInputState == Enum.UserInputState.End then | |
672 | dragging = false | |
673 | end | |
674 | end) | |
675 | end | |
676 | end) | |
677 | cmdgui_topframe.InputChanged:Connect(function(input) | |
678 | if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then | |
679 | dragInput = input | |
680 | end | |
681 | end) | |
682 | cmdgui_midframe.InputBegan:Connect(function(input) | |
683 | if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then | |
684 | dragging = true | |
685 | dragStart = input.Position | |
686 | startPos = CMDSmain.Position | |
687 | input.Changed:Connect(function() | |
688 | if input.UserInputState == Enum.UserInputState.End then | |
689 | dragging = false | |
690 | end | |
691 | end) | |
692 | end | |
693 | end) | |
694 | cmdgui_midframe.InputChanged:Connect(function(input) | |
695 | if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then | |
696 | dragInput = input | |
697 | end | |
698 | end) | |
699 | UserInputService.InputChanged:Connect(function(input) | |
700 | if input == dragInput and dragging then | |
701 | updateCMDS(input) | |
702 | end | |
703 | end) | |
704 | cmdsgui_SearchFunction.Focused:Connect(function() | |
705 | cmdsgui_SearchFunction.TextTransparency = 0 | |
706 | local searchTween = {} | |
707 | searchTween.TextColor3 = Color3.new(0.0980392, 0.462745, 0.823529) | |
708 | searchTween.TextSize = 18 | |
709 | searchTween.Position = UDim2.new(0, -70, 0, -15) | |
710 | local frameTweenblue = {} | |
711 | frameTweenblue.BackgroundColor3 = Color3.new(0.0980392, 0.462745, 0.823529) | |
712 | local searchTween1 = gsTween:Create(cmdsgui_searchDETAILTEXT, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), searchTween) | |
713 | searchTween1:Play() | |
714 | local frameTweenblue1 = gsTween:Create(cmdsgui_searchDETAILFRAME, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), frameTweenblue) | |
715 | frameTweenblue1:Play() | |
716 | end) | |
717 | cmdsgui_SearchFunction.FocusLost:Connect(function(enterPressed) | |
718 | if not enterPressed then | |
719 | cmdsgui_SearchFunction.TextTransparency = 1 | |
720 | else | |
721 | cmdsgui_SearchFunction.Text = " " | |
722 | end | |
723 | local searchTween = {} | |
724 | searchTween.TextColor3 = Color3.fromRGB(240, 240, 240) | |
725 | searchTween.TextSize = 30 | |
726 | searchTween.Position = UDim2.new(0, 0, 0, 0) | |
727 | local frameTweenblue = {} | |
728 | frameTweenblue.BackgroundColor3 = Color3.fromRGB(240, 240, 240) | |
729 | local searchTween1 = gsTween:Create(cmdsgui_searchDETAILTEXT, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), searchTween) | |
730 | searchTween1:Play() | |
731 | local frameTweenblue1 = gsTween:Create(cmdsgui_searchDETAILFRAME, TweenInfo.new(0.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), frameTweenblue) | |
732 | frameTweenblue1:Play() | |
733 | end) | |
734 | cmdsgui_SearchFunction.Changed:Connect(function() | |
735 | local index = 0 | |
736 | if cmdsgui_SearchFunction.Text ~= "" then | |
737 | for i,v in pairs(ListofCMDS:GetChildren()) do | |
738 | if v.Name == "cmdHere" then | |
739 | if not string.find(v.Text, cmdsgui_SearchFunction.Text) then | |
740 | v.Visible = false | |
741 | else | |
742 | v.Visible = true | |
743 | index = index + 1 | |
744 | v.Position = UDim2.new(0, 5, 0, 50 + (index * 15)) | |
745 | end | |
746 | end | |
747 | end | |
748 | end | |
749 | end) | |
750 | ||
751 | -- Command Execution | |
752 | LP.Chatted:Connect(function(chat) | |
753 | run(chat) | |
754 | end) | |
755 | ||
756 | function run(msg) | |
757 | if string.lower(string.sub(msg, 2, 5)) == "chat" then | |
758 | msg = msg | |
759 | elseif string.match(msg, "hotkey") and string.match(msg, "chat") then | |
760 | msg = msg | |
761 | else | |
762 | msg = string.lower(msg) | |
763 | end | |
764 | local cmdPrefix = string.sub(msg, 1, 1) | |
765 | if cmdPrefix == commandPrefix then | |
766 | msg = string.sub(msg, 2) | |
767 | local args = {} | |
768 | for arg in string.gmatch(msg,"[^%s]+") do | |
769 | table.insert(args,arg) | |
770 | end | |
771 | local cmdName = args[1] | |
772 | table.remove(args,1) | |
773 | local doCmd = Commands[cmdName] | |
774 | ||
775 | if doCmd ~= nil then | |
776 | doCmd(args) | |
777 | end | |
778 | end | |
779 | end | |
780 | ||
781 | -- Command bar | |
782 | local CommandBar = Instance.new("ScreenGui") | |
783 | local CMDBAR = Instance.new("Frame") | |
784 | local CMDBARText = Instance.new("TextBox") | |
785 | CommandBar.Name = "CommandBar" | |
786 | CommandBar.Parent = game.Players.LocalPlayer.PlayerGui | |
787 | CommandBar.ResetOnSpawn = false | |
788 | CMDBAR.Name = "CMDBAR" | |
789 | CMDBAR.Parent = CommandBar | |
790 | CMDBAR.BackgroundColor3 = Color3.new(0.164706, 0.152941, 0.172549) | |
791 | CMDBAR.BorderSizePixel = 0 | |
792 | CMDBAR.Position = UDim2.new(0.025, 0, 1, 0) | |
793 | CMDBAR.Size = UDim2.new(0, 270, 0, 35) | |
794 | CMDBARText.Name = "CMDBARText" | |
795 | CMDBARText.Parent = CMDBAR | |
796 | CMDBARText.BackgroundColor3 = Color3.new(0.188235, 0.188235, 0.188235) | |
797 | CMDBARText.BorderSizePixel = 0 | |
798 | CMDBARText.Position = UDim2.new(0, 5, 0, 5) | |
799 | CMDBARText.Size = UDim2.new(0, 260, 0, 25) | |
800 | CMDBARText.Font = Enum.Font.SourceSansLight | |
801 | CMDBARText.Text = "" | |
802 | CMDBARText.TextColor3 = Color3.new(0.933333, 0.933333, 0.933333) | |
803 | CMDBARText.TextScaled = true | |
804 | CMDBARText.TextSize = 14 | |
805 | CMDBARText.TextWrapped = true | |
806 | Mouse.KeyDown:connect(function(Key) | |
807 | if Key == string.lower(commandPrefix) then | |
808 | CMDBARText:CaptureFocus() | |
809 | CMDBAR:TweenPosition(UDim2.new(0.015, 0, 0.95, 0), "Out", "Elastic", 0.5, true) | |
810 | end | |
811 | end) | |
812 | CMDBARText.FocusLost:connect(function(enterPressed) | |
813 | CMDBAR:TweenPosition(UDim2.new(0.015, 0, 1, 0), "Out", "Quad", 0.5, true) | |
814 | if enterPressed then | |
815 | local cmdmsg = CMDBARText.Text | |
816 | CMDBARText.Text = "" | |
817 | run(commandPrefix..cmdmsg) | |
818 | end | |
819 | end) | |
820 | local Match = Instance.new("Frame") | |
821 | Match.Name = "Match" | |
822 | Match.Parent = CMDBAR | |
823 | Match.BackgroundColor3 = Color3.new(0.164706, 0.152941, 0.172549) | |
824 | Match.BorderSizePixel = 0 | |
825 | Match.Position = UDim2.new(0, 0, -4, 0) | |
826 | Match.Size = UDim2.new(1, 0, 4, 0) | |
827 | Match.Visible = false | |
828 | function CreateOption(Text) | |
829 | local Option1 = Instance.new("TextLabel") | |
830 | Option1.Name = "Option" | |
831 | Option1.Parent = Match | |
832 | Option1.BackgroundColor3 = Color3.new(1, 1, 1) | |
833 | Option1.BackgroundTransparency = 1 | |
834 | Option1.Position = UDim2.new(-10, 0, 0, 0) | |
835 | Option1.Size = UDim2.new(1, 0, 0, 20) | |
836 | Option1.Font = Enum.Font.SourceSans | |
837 | Option1.Text = Text | |
838 | Option1.TextColor3 = Color3.new(0.952941, 0.952941, 0.952941) | |
839 | Option1.TextScaled = true | |
840 | Option1.TextWrapped = true | |
841 | end | |
842 | for i,cmdtext2 in pairs(CMDS) do | |
843 | CreateOption(cmdtext2) | |
844 | end | |
845 | CMDBARText.Changed:Connect(function() | |
846 | if CMDBARText.Text ~= "" and CMDBARText.Text ~= commandPrefix then | |
847 | Match.Visible = true | |
848 | local PositionMatch = 0 | |
849 | for i,cmdtext in pairs(Match:GetChildren()) do | |
850 | if cmdtext.Name == "Option" then | |
851 | if string.find(cmdtext.Text, CMDBARText.Text) then | |
852 | cmdtext.Position = UDim2.new(0, 0, 0, 2 + (PositionMatch * 20)) | |
853 | PositionMatch = PositionMatch + 1 | |
854 | if cmdtext.Position == UDim2.new(0, 0, 0, 142) then | |
855 | cmdtext.Position = UDim2.new(-10, 0, 0, 0) | |
856 | PositionMatch = PositionMatch - 1 | |
857 | end | |
858 | else | |
859 | cmdtext.Position = UDim2.new(-10, 0, 0, 0) | |
860 | end | |
861 | end | |
862 | end | |
863 | else | |
864 | Match.Visible = false | |
865 | end | |
866 | end) | |
867 | ||
868 | -- Chat | |
869 | local ChatLogsv2 = Instance.new("ScreenGui") | |
870 | local MainChatFrame = Instance.new("Frame") | |
871 | local Framess = Instance.new("Frame") | |
872 | local CloseChatGUI = Instance.new("TextButton") | |
873 | local Frame_222 = Instance.new("Frame") | |
874 | local PrintChat = Instance.new("TextButton") | |
875 | local Shadow1 = Instance.new("Frame") | |
876 | local Shadow2 = Instance.new("Frame") | |
877 | local ScrollingFrame = Instance.new("ScrollingFrame") | |
878 | ChatLogsv2.Name = "ChatLogsv2" | |
879 | ChatLogsv2.Parent = game.Players.LocalPlayer.PlayerGui | |
880 | ChatLogsv2.ResetOnSpawn = false | |
881 | MainChatFrame.Name = "MainChatFrame" | |
882 | MainChatFrame.Parent = ChatLogsv2 | |
883 | MainChatFrame.BackgroundColor3 = Color3.new(1, 1, 1) | |
884 | MainChatFrame.BackgroundTransparency = 1 | |
885 | MainChatFrame.Position = UDim2.new(0, 760, 0, 261) | |
886 | MainChatFrame.Size = UDim2.new(0, 525, 0, 337) | |
887 | MainChatFrame.Visible = false | |
888 | Framess.Parent = MainChatFrame | |
889 | Framess.BackgroundColor3 = Color3.new(0.0784314, 0.0784314, 0.0784314) | |
890 | Framess.BorderSizePixel = 0 | |
891 | Framess.Size = UDim2.new(0, 525, 0, 15) | |
892 | CloseChatGUI.Name = "CloseChatGUI" | |
893 | CloseChatGUI.Parent = Framess | |
894 | CloseChatGUI.BackgroundColor3 = Color3.new(1, 1, 1) | |
895 | CloseChatGUI.BackgroundTransparency = 1 | |
896 | CloseChatGUI.BorderSizePixel = 0 | |
897 | CloseChatGUI.Position = UDim2.new(0, 495, 0, 0) | |
898 | CloseChatGUI.Size = UDim2.new(0, 30, 0, 15) | |
899 | CloseChatGUI.Font = Enum.Font.SourceSansBold | |
900 | CloseChatGUI.Text = "X" | |
901 | CloseChatGUI.TextColor3 = Color3.new(0.945098, 0.945098, 0.945098) | |
902 | CloseChatGUI.TextSize = 20 | |
903 | Frame_222.Parent = MainChatFrame | |
904 | Frame_222.BackgroundColor3 = Color3.new(0.14902, 0.14902, 0.14902) | |
905 | Frame_222.BorderSizePixel = 0 | |
906 | Frame_222.Position = UDim2.new(0, 0, 0, 15) | |
907 | Frame_222.Size = UDim2.new(0, 525, 0, 50) | |
908 | PrintChat.Name = "PrintChat" | |
909 | PrintChat.Parent = Frame_222 | |
910 | PrintChat.BackgroundColor3 = Color3.new(0.870588, 0.25098, 0.25098) | |
911 | PrintChat.BorderSizePixel = 0 | |
912 | PrintChat.Position = UDim2.new(0, 15, 0, 0) | |
913 | PrintChat.Size = UDim2.new(0, 170, 0, 30) | |
914 | PrintChat.Font = Enum.Font.SourceSansLight | |
915 | PrintChat.Text = "Print Chat" | |
916 | PrintChat.TextColor3 = Color3.new(0.960784, 0.960784, 0.960784) | |
917 | PrintChat.TextSize = 30 | |
918 | PrintChat.TextWrapped = true | |
919 | Shadow1.Name = "Shadow1" | |
920 | Shadow1.Parent = MainChatFrame | |
921 | Shadow1.BackgroundColor3 = Color3.new(0, 0, 0) | |
922 | Shadow1.BackgroundTransparency = 0.5 | |
923 | Shadow1.Position = UDim2.new(0, 2, 0, 2) | |
924 | Shadow1.Size = UDim2.new(0, 525, 0, 337) | |
925 | Shadow1.ZIndex = -1 | |
926 | Shadow2.Name = "Shadow2" | |
927 | Shadow2.Parent = MainChatFrame | |
928 | Shadow2.BackgroundColor3 = Color3.new(0, 0, 0) | |
929 | Shadow2.BackgroundTransparency = 0.80000001192093 | |
930 | Shadow2.Position = UDim2.new(0, 5, 0, 5) | |
931 | Shadow2.Size = UDim2.new(0, 525, 0, 337) | |
932 | Shadow2.ZIndex = -1 | |
933 | ScrollingFrame.Parent = MainChatFrame | |
934 | ScrollingFrame.BackgroundColor3 = Color3.new(0.266667, 0.266667, 0.266667) | |
935 | ScrollingFrame.BorderSizePixel = 0 | |
936 | ScrollingFrame.Position = UDim2.new(0, 0, 0, 65) | |
937 | ScrollingFrame.Size = UDim2.new(0, 525, 0, 271) | |
938 | ScrollingFrame.CanvasPosition = Vector2.new(0, 403) | |
939 | ScrollingFrame.ScrollBarThickness = 8 | |
940 | function CreateChatText(plr, chat) | |
941 | for i,v in pairs(ScrollingFrame:GetDescendants()) do | |
942 | v.Position = v.Position - UDim2.new(0, 0, 0, 20) | |
943 | if v.Position == UDim2.new(0, 5, 0, 10) then | |
944 | v:Destroy() | |
945 | end | |
946 | end | |
947 | local Example = Instance.new("TextLabel") | |
948 | Example.Name = "Example" | |
949 | Example.Parent = ScrollingFrame | |
950 | Example.BackgroundColor3 = Color3.new(1, 1, 1) | |
951 | Example.BackgroundTransparency = 1 | |
952 | Example.Position = UDim2.new(0, 5, 0, 650) | |
953 | Example.Size = UDim2.new(0, 500, 0, 20) | |
954 | Example.Font = Enum.Font.SourceSans | |
955 | Example.Text = "["..plr.Name.."]: "..chat | |
956 | Example.TextColor3 = Color3.new(0.960784, 0.960784, 0.960784) | |
957 | Example.TextScaled = true | |
958 | Example.TextSize = 20 | |
959 | Example.TextWrapped = true | |
960 | Example.TextXAlignment = Enum.TextXAlignment.Left | |
961 | end | |
962 | CloseChatGUI.MouseButton1Click:Connect(function() | |
963 | MainChatFrame:TweenPosition(UDim2.new(0, 550, 0, -550), "InOut", "Sine", 2) | |
964 | wait(2.01) | |
965 | MainChatFrame.Visible = false | |
966 | end) | |
967 | printingChat = false | |
968 | PrintChat.MouseButton1Click:Connect(function() | |
969 | if printingChat == false then | |
970 | printingChat = true | |
971 | PrintChat.BackgroundColor3 = Color3.fromRGB(60, 200, 60) | |
972 | elseif printingChat == true then | |
973 | printingChat = false | |
974 | PrintChat.BackgroundColor3 = Color3.new(0.870588, 0.25098, 0.25098) | |
975 | end | |
976 | end) | |
977 | local UserInputService = game:GetService("UserInputService") | |
978 | local dragging | |
979 | local dragInput | |
980 | local dragStart | |
981 | local startPos | |
982 | local function updateChat(input) | |
983 | local delta = input.Position - dragStart | |
984 | local dragTime = 0.055 | |
985 | local SmoothDrag = {} | |
986 | SmoothDrag.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) | |
987 | local dragSmoothFunction = gsTween:Create(MainChatFrame, TweenInfo.new(dragTime, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), SmoothDrag) | |
988 | dragSmoothFunction:Play() | |
989 | end | |
990 | Frame_222.InputBegan:Connect(function(input) | |
991 | if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then | |
992 | dragging = true | |
993 | dragStart = input.Position | |
994 | startPos = MainChatFrame.Position | |
995 | input.Changed:Connect(function() | |
996 | if input.UserInputState == Enum.UserInputState.End then | |
997 | dragging = false | |
998 | end | |
999 | end) | |
1000 | end | |
1001 | end) | |
1002 | Frame_222.InputChanged:Connect(function(input) | |
1003 | if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then | |
1004 | dragInput = input | |
1005 | end | |
1006 | end) | |
1007 | UserInputService.InputChanged:Connect(function(input) | |
1008 | if input == dragInput and dragging then | |
1009 | updateChat(input) | |
1010 | end | |
1011 | end) | |
1012 | ||
1013 | function printChat(player, chat) | |
1014 | print("["..player.Name.."]: "..chat) | |
1015 | end | |
1016 | complimentReady = true | |
1017 | for i,currentPlayersChatting in pairs(game:GetService("Players"):GetPlayers()) do | |
1018 | currentPlayersChatting.Chatted:connect(function(chat) | |
1019 | CreateChatText(currentPlayersChatting, chat) | |
1020 | if printingChat then | |
1021 | printChat(currentPlayersChatting, chat) | |
1022 | end | |
1023 | if copychatACTIVE then | |
1024 | if currentPlayersChatting == copychatplayer then | |
1025 | gsReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(chat, "All") | |
1026 | end | |
1027 | end | |
1028 | if modeFling == true then | |
1029 | if string.lower(string.sub(chat, 1, 7)) == "!fling " then | |
1030 | if gsWorkspace:PGSIsEnabled() == false then | |
1031 | FEGodmode() | |
1032 | end | |
1033 | if string.lower(string.sub(chat, 8)) == "me" then | |
1034 | run(commandPrefix.."unfling") | |
1035 | LP.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + Vector3.new(0, 10, 0) | |
1036 | run(commandPrefix.."fling "..currentPlayersChatting.Name.." 2000000") | |
1037 | else | |
1038 | for i,notAll in pairs(findSinglePlayer(string.lower(string.sub(chat, 8)))) do | |
1039 | if notAll ~= LP then | |
1040 | run(commandPrefix.."unfling") | |
1041 | LP.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + Vector3.new(0, 10, 0) | |
1042 | run(commandPrefix.."fling "..notAll.Name.." 2000000") | |
1043 | end | |
1044 | end | |
1045 | end | |
1046 | end | |
1047 | end | |
1048 | if modeCompliment == true then | |
1049 | if string.lower(string.sub(chat, 1, 3)) == "!c " then | |
1050 | if complimentReady then | |
1051 | complimentReady = false | |
1052 | if string.lower(string.sub(chat, 4)) == "me" then | |
1053 | complimentplr(currentPlayersChatting) | |
1054 | else | |
1055 | for i,Others in pairs(findSinglePlayer(string.lower(string.sub(chat, 4)))) do | |
1056 | if Others == LP then | |
1057 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Don't be silly, I can't compliment myself!", "All") | |
1058 | else | |
1059 | complimentplr(Others) | |
1060 | end | |
1061 | end | |
1062 | end | |
1063 | wait(1) | |
1064 | complimentReady = true | |
1065 | end | |
1066 | end | |
1067 | end | |
1068 | if modeMove == true then | |
1069 | if string.lower(string.sub(chat, 1, 9)) == "!bringbot" then | |
1070 | run(commandPrefix.."unfollow") | |
1071 | run(commandPrefix.."unwalk") | |
1072 | run(commandPrefix.."goto "..currentPlayersChatting.Name) | |
1073 | elseif string.lower(string.sub(chat, 1, 6)) == "!walk " then | |
1074 | for i,getWalkPlayer in pairs(findSinglePlayer(string.lower(string.sub(chat, 7)))) do | |
1075 | if getWalkPlayer == LP then | |
1076 | run(commandPrefix.."unfollow") | |
1077 | run(commandPrefix.."walk "..currentPlayersChatting.Name) | |
1078 | else | |
1079 | run(commandPrefix.."unfollow") | |
1080 | run(commandPrefix.."walk "..getWalkPlayer.Name) | |
1081 | end | |
1082 | end | |
1083 | elseif string.lower(string.sub(chat, 1, 8)) == "!follow " then | |
1084 | for i,getFollowPlayer in pairs(findSinglePlayer(string.lower(string.sub(chat, 9)))) do | |
1085 | if getFollowPlayer == LP then | |
1086 | run(commandPrefix.."unwalk") | |
1087 | run(commandPrefix.."follow "..currentPlayersChatting.Name) | |
1088 | else | |
1089 | run(commandPrefix.."unwalk") | |
1090 | run(commandPrefix.."follow "..getFollowPlayer.Name) | |
1091 | end | |
1092 | end | |
1093 | end | |
1094 | end | |
1095 | if modeInfo == true then | |
1096 | if infoReady then | |
1097 | infoReady = false | |
1098 | if string.lower(string.sub(chat, 1, 5)) == "!age " then | |
1099 | for i,v in pairs(findSinglePlayer(string.lower(string.sub(chat, 6)))) do | |
1100 | if v == LP then | |
1101 | run(commandPrefix.."age "..currentPlayersChatting.Name) | |
1102 | else | |
1103 | run(commandPrefix.."age "..v.Name) | |
1104 | end | |
1105 | end | |
1106 | end | |
1107 | if string.lower(string.sub(chat, 1, 4)) == "!id " then | |
1108 | for i,a in pairs(findSinglePlayer(string.lower(string.sub(chat, 5)))) do | |
1109 | if a == LP then | |
1110 | run(commandPrefix.."id "..currentPlayersChatting.Name) | |
1111 | else | |
1112 | run(commandPrefix.."id "..a.Name) | |
1113 | end | |
1114 | end | |
1115 | end | |
1116 | wait(1) | |
1117 | infoReady = true | |
1118 | end | |
1119 | end | |
1120 | end) | |
1121 | end | |
1122 | game:GetService("Players").PlayerAdded:connect(function(plr) | |
1123 | plr.Chatted:connect(function(chat) | |
1124 | CreateChatText(plr, chat) | |
1125 | if printingChat then | |
1126 | printChat(plr, chat) | |
1127 | end | |
1128 | if modeFling == true then | |
1129 | if string.lower(string.sub(chat, 1, 7)) == "!fling " then | |
1130 | if gsWorkspace:PGSIsEnabled() == false then | |
1131 | FEGodmode() | |
1132 | end | |
1133 | if string.lower(string.sub(chat, 8)) == "me" then | |
1134 | run(commandPrefix.."unfling") | |
1135 | LP.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + Vector3.new(0, 10, 0) | |
1136 | run(commandPrefix.."fling "..plr.Name.." 2000000") | |
1137 | else | |
1138 | for i,notAll in pairs(findSinglePlayer(string.lower(string.sub(chat, 8)))) do | |
1139 | if notAll ~= LP then | |
1140 | run(commandPrefix.."unfling") | |
1141 | LP.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + Vector3.new(0, 10, 0) | |
1142 | run(commandPrefix.."fling "..notAll.Name.." 2000000") | |
1143 | end | |
1144 | end | |
1145 | end | |
1146 | end | |
1147 | end | |
1148 | if modeCompliment == true then | |
1149 | if string.lower(string.sub(chat, 1, 3)) == "!c " then | |
1150 | if complimentReady == true then | |
1151 | complimentReady = false | |
1152 | if string.lower(string.sub(chat, 4)) == "me" then | |
1153 | complimentplr(plr) | |
1154 | else | |
1155 | for i,Others in pairs(findSinglePlayer(string.lower(string.sub(chat, 4)))) do | |
1156 | if Others == LP then | |
1157 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Don't be silly, I can't compliment myself!", "All") | |
1158 | else | |
1159 | complimentplr(Others) | |
1160 | end | |
1161 | end | |
1162 | end | |
1163 | wait(1) | |
1164 | complimentReady = true | |
1165 | end | |
1166 | end | |
1167 | end | |
1168 | if modeMove == true then | |
1169 | if string.lower(string.sub(chat, 1, 9)) == "!bringbot" then | |
1170 | run(commandPrefix.."unfollow") | |
1171 | run(commandPrefix.."unwalk") | |
1172 | run(commandPrefix.."goto "..plr.Name) | |
1173 | elseif string.lower(string.sub(chat, 1, 6)) == "!walk " then | |
1174 | for i,getWalkPlayer in pairs(findSinglePlayer(string.lower(string.sub(chat, 7)))) do | |
1175 | if getWalkPlayer == LP then | |
1176 | run(commandPrefix.."unfollow") | |
1177 | run(commandPrefix.."walk "..plr.Name) | |
1178 | else | |
1179 | run(commandPrefix.."unfollow") | |
1180 | run(commandPrefix.."walk "..getWalkPlayer.Name) | |
1181 | end | |
1182 | end | |
1183 | elseif string.lower(string.sub(chat, 1, 8)) == "!follow " then | |
1184 | for i,getFollowPlayer in pairs(findSinglePlayer(string.lower(string.sub(chat, 9)))) do | |
1185 | if getFollowPlayer == LP then | |
1186 | run(commandPrefix.."unwalk") | |
1187 | run(commandPrefix.."follow "..plr.Name) | |
1188 | else | |
1189 | run(commandPrefix.."unwalk") | |
1190 | run(commandPrefix.."follow "..getFollowPlayer.Name) | |
1191 | end | |
1192 | end | |
1193 | end | |
1194 | end | |
1195 | if modeInfo == true then | |
1196 | if infoReady then | |
1197 | infoReady = false | |
1198 | if string.lower(string.sub(chat, 1, 5)) == "!age " then | |
1199 | for i,v in pairs(findSinglePlayer(string.lower(string.sub(chat, 6)))) do | |
1200 | if v == LP then | |
1201 | run(commandPrefix.."age "..plr.Name) | |
1202 | else | |
1203 | run(commandPrefix.."age "..v.Name) | |
1204 | end | |
1205 | end | |
1206 | end | |
1207 | if string.lower(string.sub(chat, 1, 4)) == "!id " then | |
1208 | for i,a in pairs(findSinglePlayer(string.lower(string.sub(chat, 5)))) do | |
1209 | if a == LP then | |
1210 | run(commandPrefix.."id "..plr.Name) | |
1211 | else | |
1212 | run(commandPrefix.."id "..a.Name) | |
1213 | end | |
1214 | end | |
1215 | end | |
1216 | wait(1) | |
1217 | infoReady = true | |
1218 | end | |
1219 | end | |
1220 | end) | |
1221 | end) | |
1222 | ||
1223 | -- Loops | |
1224 | noclip = false | |
1225 | following = false | |
1226 | trailing = false | |
1227 | annoying = false | |
1228 | flingnoclip = false | |
1229 | staring = false | |
1230 | stopsitting = false | |
1231 | stareplr = "" | |
1232 | CBRINGamount = 3 | |
1233 | spawnWS = CurrentWalkspeed | |
1234 | spawnJP = CurrentJumppower | |
1235 | spawnHH = CurrentHipheight | |
1236 | spawningfegod = false | |
1237 | looptpbypassfly = false | |
1238 | if game.GameId == 245662005 or game.GameId == 601130232 then | |
1239 | bypassMODE = true | |
1240 | else | |
1241 | bypassMODE = false | |
1242 | end | |
1243 | viewplr = "" | |
1244 | loopview = false | |
1245 | cmdForward = false | |
1246 | forwardSpeed = 1 | |
1247 | loopviewfc = false | |
1248 | spinTOhead = false | |
1249 | spinObj = "" | |
1250 | rideACTIVE = false | |
1251 | ridePLAYER = "" | |
1252 | ||
1253 | LPcurrenthumanoid = LP.Character.Humanoid | |
1254 | game:GetService('RunService').Stepped:connect(function() | |
1255 | if LP.Character.Humanoid ~= nil then | |
1256 | LPcurrenthumanoid = LP.Character.Humanoid | |
1257 | end | |
1258 | if noclip then | |
1259 | if LP.Character then | |
1260 | if LP.Character.Humanoid.RigType == Enum.HumanoidRigType.R6 then | |
1261 | LP.Character.Head.CanCollide = false | |
1262 | LP.Character.Torso.CanCollide = false | |
1263 | LP.Character["Left Leg"].CanCollide = false | |
1264 | LP.Character["Right Leg"].CanCollide = false | |
1265 | LP.Character["Left Arm"].CanCollide = false | |
1266 | LP.Character["Right Arm"].CanCollide = false | |
1267 | elseif LP.Character.Humanoid.RigType == Enum.HumanoidRigType.R15 then | |
1268 | LP.Character.Head.CanCollide = false | |
1269 | LP.Character.UpperTorso.CanCollide = false | |
1270 | LP.Character.LowerTorso.CanCollide = false | |
1271 | LP.Character.HumanoidRootPart.CanCollide = false | |
1272 | end | |
1273 | end | |
1274 | end | |
1275 | if following then | |
1276 | LP.Character.HumanoidRootPart.CFrame = gsPlayers[flwplr.Name].Character.HumanoidRootPart.CFrame + gsPlayers[flwplr.Name].Character.HumanoidRootPart.CFrame.lookVector * flwnum | |
1277 | end | |
1278 | if trailing then | |
1279 | LP.Character.HumanoidRootPart.CFrame = gsPlayers[trlplr.Name].Character.HumanoidRootPart.CFrame + gsPlayers[trlplr.Name].Character.HumanoidRootPart.CFrame.lookVector * trlnum | |
1280 | end | |
1281 | if annoying then | |
1282 | LP.Character.HumanoidRootPart.CFrame = gsPlayers[annplr.Name].Character.HumanoidRootPart.CFrame | |
1283 | end | |
1284 | if walkto then | |
1285 | LP.Character.Humanoid:MoveTo(walkplr.Character.HumanoidRootPart.Position) | |
1286 | end | |
1287 | if cbringing then | |
1288 | CBRINGplr.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + LP.Character.HumanoidRootPart.CFrame.lookVector * CBRINGamount | |
1289 | end | |
1290 | if cbringingall then | |
1291 | for i,getbringplrs in pairs(gsPlayers:GetPlayers()) do | |
1292 | if getbringplrs ~= LP then | |
1293 | getbringplrs.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + LP.Character.HumanoidRootPart.CFrame.lookVector * CBRINGamount | |
1294 | end | |
1295 | end | |
1296 | end | |
1297 | if staring then | |
1298 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(LP.Character.Torso.Position, gsPlayers[stareplr.Name].Character.Torso.Position) | |
1299 | end | |
1300 | if stopsitting then | |
1301 | LP.Character.Humanoid.Sit = false | |
1302 | end | |
1303 | if looptpbypassfly then | |
1304 | pcall(function() | |
1305 | LP.Character.Head.Anchored = false | |
1306 | LP.Character.HumanoidRootPart.CFrame = gsWorkspace.rGETpartNUMBER2.CFrame | |
1307 | LP.Character.Head.Anchored = true | |
1308 | end) | |
1309 | end | |
1310 | if loopview then | |
1311 | view(viewplr) | |
1312 | end | |
1313 | if cmdForward then | |
1314 | LP.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + LP.Character.HumanoidRootPart.CFrame.lookVector * forwardSpeed | |
1315 | end | |
1316 | if loopviewfc then | |
1317 | pcall(function() | |
1318 | gsWorkspace.CurrentCamera.CameraSubject = gsWorkspace.rGETpartNUMBER2 | |
1319 | end) | |
1320 | end | |
1321 | if spinTOhead then | |
1322 | pcall(function() | |
1323 | spinObj.Position = LP.Character.Head.Position | |
1324 | end) | |
1325 | end | |
1326 | if rideACTIVE == true then | |
1327 | LP.character.HumanoidRootPart.CFrame = ridePLAYER.Character.HumanoidRootPart.CFrame + Vector3.new(0, 3, 0) | |
1328 | end | |
1329 | end) | |
1330 | spawningatreset = false | |
1331 | spawnresetpoint = LP.Character.Head.CFrame | |
1332 | ||
1333 | LPcurrenthumanoid.Died:Connect(function() | |
1334 | flying = false | |
1335 | doFREECAM = false | |
1336 | if savingtoolsloop then | |
1337 | run(commandPrefix.."savealltool") | |
1338 | end | |
1339 | if spawningatreset == true then | |
1340 | spawnresetpoint = LP.Character.Head.CFrame + Vector3.new(0, 5, 0) | |
1341 | end | |
1342 | end) | |
1343 | ||
1344 | LP.CharacterAdded:Connect(function() | |
1345 | wait(0.2) | |
1346 | LP.Character.Humanoid.WalkSpeed = spawnWS | |
1347 | LP.Character.Humanoid.JumpPower = spawnJP | |
1348 | LP.Character.Humanoid.HipHeight = spawnHH | |
1349 | if spawningfegod then | |
1350 | FEGodmode() | |
1351 | end | |
1352 | if spawningpos and spawnpos ~= nil then | |
1353 | LP.Character.HumanoidRootPart.CFrame = spawnpos | |
1354 | end | |
1355 | if spawningatreset == true then | |
1356 | LP.Character.HumanoidRootPart.CFrame = spawnresetpoint | |
1357 | end | |
1358 | end) | |
1359 | ||
1360 | -- Commands | |
1361 | Commands = {} | |
1362 | ||
1363 | Commands.print = function(args) | |
1364 | local msg = table.concat(args," ") | |
1365 | print(msg) | |
1366 | end | |
1367 | ||
1368 | Commands.warn = function(args) | |
1369 | local msg = table.concat(args," ") | |
1370 | warn(msg) | |
1371 | end | |
1372 | ||
1373 | Commands.sit = function(args) | |
1374 | LP.Character.Humanoid.Sit = true | |
1375 | end | |
1376 | ||
1377 | Commands.god = function(args) | |
1378 | FEGodmode() | |
1379 | Notification("warning", "You have enabled FE Godmode, tools will not work. Use "..commandPrefix.."grespawn to remove.", 7) | |
1380 | end | |
1381 | ||
1382 | Commands.view = function(args) | |
1383 | if args[1] then | |
1384 | for i,v in pairs(findSinglePlayer(args[1])) do | |
1385 | if bypassMODE == false then | |
1386 | view(v) | |
1387 | Notification("info", "Now viewing "..v.Name..". Use "..commandPrefix.."unview to stop viewing.", 3) | |
1388 | elseif bypassMODE == true then | |
1389 | viewplr = v | |
1390 | loopview = true | |
1391 | end | |
1392 | end | |
1393 | end | |
1394 | end | |
1395 | ||
1396 | Commands.unview = function(args) | |
1397 | view(LP) | |
1398 | loopview = false | |
1399 | end | |
1400 | ||
1401 | Commands.gravity = function(args) | |
1402 | if args[1] then | |
1403 | gsWorkspace.Gravity = args[1] | |
1404 | end | |
1405 | end | |
1406 | ||
1407 | Commands.ungravity = function(args) | |
1408 | gsWorkspace.Gravity = CurrentGravity | |
1409 | end | |
1410 | ||
1411 | Commands.goto = function(args) | |
1412 | if args[1] then | |
1413 | if bypassMODE == false then | |
1414 | for i,v in pairs(findPlayer(args[1])) do | |
1415 | LP.Character.HumanoidRootPart.CFrame = v.Character.HumanoidRootPart.CFrame | |
1416 | end | |
1417 | elseif bypassMODE == true then | |
1418 | for i,v in pairs(findPlayer(args[1])) do | |
1419 | local TPbypass = {} | |
1420 | TPbypass.CFrame = v.Character.HumanoidRootPart.CFrame + Vector3.new(0, 5, 0) | |
1421 | local TPFunction = gsTween:Create(LP.Character.HumanoidRootPart, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.In), TPbypass) | |
1422 | TPFunction:Play() | |
1423 | end | |
1424 | end | |
1425 | end | |
1426 | end | |
1427 | ||
1428 | Commands.fecheck = function(args) | |
1429 | if gsWorkspace.FilteringEnabled == true then | |
1430 | Notification("warning", "FE is enabled!", 7) | |
1431 | else | |
1432 | Notification("warning", "FE is disabled. Consider using a different script.", 7) | |
1433 | end | |
1434 | end | |
1435 | ||
1436 | Commands.lockws = function(args) | |
1437 | lockWS() | |
1438 | Notification("info", "Workspace locked.", 4) | |
1439 | end | |
1440 | ||
1441 | Commands.unlockws = function(args) | |
1442 | unlockWS() | |
1443 | Notification("info", "Workspace unlocked.", 4) | |
1444 | end | |
1445 | ||
1446 | Commands.noclip = function(args) | |
1447 | noclip = true | |
1448 | Notification("info", "Noclip enabled.", 4) | |
1449 | end | |
1450 | ||
1451 | Commands.clip = function(args) | |
1452 | noclip = false | |
1453 | Notification("info", "Noclip disabled.", 4) | |
1454 | end | |
1455 | ||
1456 | Commands.follow = function(args) | |
1457 | if args[1] then | |
1458 | for i,v in pairs(findPlayer(args[1])) do | |
1459 | flwplr = v | |
1460 | end | |
1461 | if args[2] then | |
1462 | flwnum = args[2] | |
1463 | else | |
1464 | flwnum = -5 | |
1465 | end | |
1466 | following = true | |
1467 | else | |
1468 | Notification("warning", "No player selected to follow! Use: "..commandPrefix.."follow player", 4) | |
1469 | end | |
1470 | end | |
1471 | ||
1472 | Commands.unfollow = function(args) | |
1473 | following = false | |
1474 | end | |
1475 | ||
1476 | Commands.fling = function(args) | |
1477 | if args[1] then | |
1478 | for i,v in pairs(findSinglePlayer(args[1])) do | |
1479 | if v ~= LP then | |
1480 | view(v) | |
1481 | pcall(function() | |
1482 | LP.Character.HumanoidRootPart.Fling:Destroy() | |
1483 | end) | |
1484 | if not args[2] then | |
1485 | RocketPropulsion(800000,1000,400000,v,"Fling") | |
1486 | else | |
1487 | RocketPropulsion(args[2],1500,400000,v,"Fling") | |
1488 | end | |
1489 | if noclip ~= true then | |
1490 | flingnoclip = true | |
1491 | noclip = true | |
1492 | end | |
1493 | end | |
1494 | end | |
1495 | else | |
1496 | Notification("warning", "No player selected to fling! Use: "..commandPrefix.."fling player", 4) | |
1497 | end | |
1498 | end | |
1499 | ||
1500 | Commands.unfling = function(args) | |
1501 | view(LP) | |
1502 | pcall(function() | |
1503 | if LP.Character.HumanoidRootPart.Fling then | |
1504 | for i,v in pairs(LP.Character:GetDescendants()) do | |
1505 | if v.Name == "Fling" and v:IsA("RocketPropulsion") then | |
1506 | v:Destroy() | |
1507 | end | |
1508 | end | |
1509 | end | |
1510 | end) | |
1511 | if flingnoclip == true then | |
1512 | noclip = false | |
1513 | flingnoclip = false | |
1514 | end | |
1515 | end | |
1516 | ||
1517 | Commands.trail = function(args) | |
1518 | if args[1] then | |
1519 | for i,v in pairs(findPlayer(args[1])) do | |
1520 | trlplr = v | |
1521 | end | |
1522 | if args[2] then | |
1523 | trlnum = args[2] | |
1524 | else | |
1525 | trlnum = 5 | |
1526 | end | |
1527 | trailing = true | |
1528 | else | |
1529 | Notification("warning", "No player selected to trail! Use: "..commandPrefix.."trail player", 4) | |
1530 | end | |
1531 | end | |
1532 | ||
1533 | Commands.untrail = function(args) | |
1534 | trailing = false | |
1535 | end | |
1536 | ||
1537 | Commands.annoy = function(args) | |
1538 | if args[1] then | |
1539 | for i,v in pairs(findPlayer(args[1])) do | |
1540 | annplr = v | |
1541 | end | |
1542 | annoying = true | |
1543 | else | |
1544 | Notification("warning", "No player selected to annoy! Use: "..commandPrefix.."annoy player", 4) | |
1545 | end | |
1546 | end | |
1547 | ||
1548 | Commands.unannoy = function(args) | |
1549 | annoying = false | |
1550 | end | |
1551 | ||
1552 | Commands.reset = function(args) | |
1553 | LP.Character:BreakJoints() | |
1554 | end | |
1555 | ||
1556 | Commands.grespawn = function(args) | |
1557 | LP.Character.Humanoid.Health = 0 | |
1558 | wait(1) | |
1559 | LP.Character.Head.CFrame = CFrame.new(1000000,0,1000000) | |
1560 | LP.Character.Torso.CFrame = CFrame.new(1000000,0,1000000) | |
1561 | end | |
1562 | ||
1563 | Commands.respawn = function(args) | |
1564 | local mod = Instance.new('Model', workspace) mod.Name = 'new '..LP.Name | |
1565 | local hum = Instance.new('Humanoid', mod) | |
1566 | local ins = Instance.new('Part', mod) ins.Name = 'Torso' ins.CanCollide = false ins.Transparency = 1 | |
1567 | LP.Character = mod | |
1568 | end | |
1569 | ||
1570 | Commands.speed = function(args) | |
1571 | if args[1] then | |
1572 | run(commandPrefix.."ws "..args[1]) | |
1573 | end | |
1574 | end | |
1575 | ||
1576 | bypassingwalkspeed = false | |
1577 | Commands.ws = function(args) | |
1578 | if args[1] then | |
1579 | if bypassMODE == false then | |
1580 | LP.Character.Humanoid.WalkSpeed = args[1] | |
1581 | elseif bypassMODE == true then | |
1582 | if game.GameId == 245662005 then | |
1583 | bypassingwalkspeed = true | |
1584 | bypassWalkspeed = args[1] | |
1585 | end | |
1586 | end | |
1587 | end | |
1588 | end | |
1589 | ||
1590 | game:GetService("RunService").Heartbeat:Connect(function() | |
1591 | if bypassingwalkspeed then | |
1592 | LP.Character.Humanoid.WalkSpeed = bypassWalkspeed | |
1593 | end | |
1594 | end) | |
1595 | ||
1596 | Commands.jumppower = function(args) | |
1597 | if args[1] then | |
1598 | LP.Character.Humanoid.JumpPower = args[1] | |
1599 | end | |
1600 | end | |
1601 | ||
1602 | Commands.jp = function(args) | |
1603 | if args[1] then | |
1604 | LP.Character.Humanoid.JumpPower = args[1] | |
1605 | end | |
1606 | end | |
1607 | ||
1608 | Commands.hipheight = function(args) | |
1609 | if args[1] then | |
1610 | LP.Character.Humanoid.HipHeight = args[1] | |
1611 | end | |
1612 | end | |
1613 | ||
1614 | Commands.hh = function(args) | |
1615 | if args[1] then | |
1616 | LP.Character.Humanoid.HipHeight = args[1] | |
1617 | end | |
1618 | end | |
1619 | ||
1620 | Commands.default = function(args) | |
1621 | LP.Character.Humanoid.WalkSpeed = CurrentWalkspeed | |
1622 | LP.Character.Humanoid.HipHeight = CurrentHipheight | |
1623 | LP.Character.Humanoid.JumpPower = CurrentJumppower | |
1624 | end | |
1625 | ||
1626 | Commands.credits = function(args) | |
1627 | Notification("info", "Shattervast was made by illremember#3799 , "..commandPrefix.."fullcredits for all credits.", 8) | |
1628 | end | |
1629 | ||
1630 | Commands.attach = function(args) | |
1631 | if hasTools() == false then | |
1632 | Notification("warning", "You need a tool in your backpack/inventory to use this command.", 8) | |
1633 | else | |
1634 | FEGodmode() | |
1635 | for i,v in pairs(LP.Backpack:GetChildren())do | |
1636 | LP.Character.Humanoid:EquipTool(v) | |
1637 | end | |
1638 | if args[1] then | |
1639 | for i,v in pairs(findSinglePlayer(args[1])) do | |
1640 | if v ~= LP then | |
1641 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
1642 | wait(0.3) | |
1643 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
1644 | end | |
1645 | end | |
1646 | end | |
1647 | end | |
1648 | end | |
1649 | ||
1650 | Commands.fly = function(args) | |
1651 | if bypassMODE == false then | |
1652 | local speedget = 1 | |
1653 | repeat wait() until LP and LP.Character and LP.Character:FindFirstChild('HumanoidRootPart') and LP.Character:FindFirstChild('Humanoid') | |
1654 | repeat wait() until Mouse | |
1655 | if args[1] then | |
1656 | speedfly = args[1] | |
1657 | else | |
1658 | speedfly = 1 | |
1659 | end | |
1660 | ||
1661 | local T = LP.Character.HumanoidRootPart | |
1662 | local CONTROL = {F = 0, B = 0, L = 0, R = 0} | |
1663 | local lCONTROL = {F = 0, B = 0, L = 0, R = 0} | |
1664 | local SPEED = speedget | |
1665 | ||
1666 | local function fly() | |
1667 | flying = true | |
1668 | local BG = Instance.new('BodyGyro', T) | |
1669 | local BV = Instance.new('BodyVelocity', T) | |
1670 | BG.P = 9e4 | |
1671 | BG.maxTorque = Vector3.new(9e9, 9e9, 9e9) | |
1672 | BG.cframe = T.CFrame | |
1673 | BV.velocity = Vector3.new(0, 0.1, 0) | |
1674 | BV.maxForce = Vector3.new(9e9, 9e9, 9e9) | |
1675 | spawn(function() | |
1676 | repeat wait() | |
1677 | LP.Character.Humanoid.PlatformStand = true | |
1678 | if CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 then | |
1679 | SPEED = 50 | |
1680 | elseif not (CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0) and SPEED ~= 0 then | |
1681 | SPEED = 0 | |
1682 | end | |
1683 | if (CONTROL.L + CONTROL.R) ~= 0 or (CONTROL.F + CONTROL.B) ~= 0 then | |
1684 | BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (CONTROL.F + CONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(CONTROL.L + CONTROL.R, (CONTROL.F + CONTROL.B) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED | |
1685 | lCONTROL = {F = CONTROL.F, B = CONTROL.B, L = CONTROL.L, R = CONTROL.R} | |
1686 | elseif (CONTROL.L + CONTROL.R) == 0 and (CONTROL.F + CONTROL.B) == 0 and SPEED ~= 0 then | |
1687 | BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (lCONTROL.F + lCONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(lCONTROL.L + lCONTROL.R, (lCONTROL.F + lCONTROL.B) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED | |
1688 | else | |
1689 | BV.velocity = Vector3.new(0, 0.1, 0) | |
1690 | end | |
1691 | BG.cframe = workspace.CurrentCamera.CoordinateFrame | |
1692 | until not flying | |
1693 | CONTROL = {F = 0, B = 0, L = 0, R = 0} | |
1694 | lCONTROL = {F = 0, B = 0, L = 0, R = 0} | |
1695 | SPEED = 0 | |
1696 | BG:destroy() | |
1697 | BV:destroy() | |
1698 | LP.Character.Humanoid.PlatformStand = false | |
1699 | end) | |
1700 | end | |
1701 | Mouse.KeyDown:connect(function(KEY) | |
1702 | if KEY:lower() == 'w' then | |
1703 | CONTROL.F = speedfly | |
1704 | elseif KEY:lower() == 's' then | |
1705 | CONTROL.B = -speedfly | |
1706 | elseif KEY:lower() == 'a' then | |
1707 | CONTROL.L = -speedfly | |
1708 | elseif KEY:lower() == 'd' then | |
1709 | CONTROL.R = speedfly | |
1710 | end | |
1711 | end) | |
1712 | Mouse.KeyUp:connect(function(KEY) | |
1713 | if KEY:lower() == 'w' then | |
1714 | CONTROL.F = 0 | |
1715 | elseif KEY:lower() == 's' then | |
1716 | CONTROL.B = 0 | |
1717 | elseif KEY:lower() == 'a' then | |
1718 | CONTROL.L = 0 | |
1719 | elseif KEY:lower() == 'd' then | |
1720 | CONTROL.R = 0 | |
1721 | end | |
1722 | end) | |
1723 | fly() | |
1724 | elseif bypassMODE == true then | |
1725 | if not args[1] then | |
1726 | run(commandPrefix.."fc") | |
1727 | else | |
1728 | run(commandPrefix.."fc "..args[1]) | |
1729 | end | |
1730 | LP.Character.Head.Anchored = false | |
1731 | looptpbypassfly = true | |
1732 | view(LP) | |
1733 | end | |
1734 | end | |
1735 | ||
1736 | Commands.unfly = function(args) | |
1737 | if bypassMODE == false then | |
1738 | flying = false | |
1739 | LP.Character.Humanoid.PlatformStand = false | |
1740 | else | |
1741 | looptpbypassfly = false | |
1742 | run(commandPrefix.."unfreecam") | |
1743 | local goalTP = LP.Character.HumanoidRootPart.CFrame | |
1744 | if game.GameId == 245662005 then | |
1745 | for i = 1, 5 do wait(0.2) | |
1746 | LP.Character.HumanoidRootPart.CFrame = goalTP | |
1747 | end | |
1748 | else | |
1749 | LP.Character.HumanoidRootPart.CFrame = goalTP | |
1750 | end | |
1751 | LP.Character.Head.Anchored = false | |
1752 | end | |
1753 | end | |
1754 | ||
1755 | Commands.kill = function(args) | |
1756 | if args[1] then | |
1757 | for i,v in pairs(findSinglePlayer(args[1])) do | |
1758 | if v == LP then | |
1759 | LP.Character:BreakJoints() | |
1760 | else | |
1761 | if hasTools() == false then | |
1762 | Notification("warning", "You need a tool in your backpack/inventory to use this command.", 8) | |
1763 | else | |
1764 | FEGodmode() | |
1765 | for i,v in pairs(LP.Backpack:GetChildren())do | |
1766 | LP.Character.Humanoid:EquipTool(v) | |
1767 | end | |
1768 | local NOW = LP.Character.HumanoidRootPart.CFrame | |
1769 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
1770 | wait(0.3) | |
1771 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
1772 | local function tp(player,player2) | |
1773 | local char1,char2=player.Character,player2.Character | |
1774 | if char1 and char2 then | |
1775 | char1:MoveTo(char2.Head.Position) | |
1776 | end | |
1777 | end | |
1778 | wait(0.5) | |
1779 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(100000,0,100000)) | |
1780 | wait(0.5) | |
1781 | tp(LP,game:GetService("Players")[v.Name]) | |
1782 | wait(0.7) | |
1783 | LP.Character.HumanoidRootPart.CFrame = NOW | |
1784 | view(LP) | |
1785 | end | |
1786 | end | |
1787 | end | |
1788 | end | |
1789 | end | |
1790 | Commands.bring = function(args) | |
1791 | if hasTools() == false then | |
1792 | Notification("warning", "You need a tool in your backpack/inventory to use this command.", 8) | |
1793 | else | |
1794 | FEGodmode() | |
1795 | for i,v in pairs(LP.Backpack:GetChildren())do | |
1796 | LP.Character.Humanoid:EquipTool(v) | |
1797 | end | |
1798 | if args[1] then | |
1799 | for i,v in pairs(findSinglePlayer(args[1])) do | |
1800 | if v ~= LP then | |
1801 | local NOW = LP.Character.HumanoidRootPart.CFrame | |
1802 | local function tp(player,player2) | |
1803 | local char1,char2=player.Character,player2.Character | |
1804 | if char1 and char2 then | |
1805 | char1.HumanoidRootPart.CFrame = char2.HumanoidRootPart.CFrame | |
1806 | end | |
1807 | end | |
1808 | local function getout(player,player2) | |
1809 | local char1,char2=player.Character,player2.Character | |
1810 | if char1 and char2 then | |
1811 | char1:MoveTo(char2.Head.Position) | |
1812 | end | |
1813 | end | |
1814 | tp(game:GetService("Players")[v.Name], LP) | |
1815 | wait(0.2) | |
1816 | tp(game:GetService("Players")[v.Name], LP) | |
1817 | wait(0.5) | |
1818 | LP.Character.HumanoidRootPart.CFrame = NOW | |
1819 | wait(0.5) | |
1820 | getout(LP, game:GetService("Players")[v.Name]) | |
1821 | wait(0.3) | |
1822 | LP.Character.HumanoidRootPart.CFrame = NOW | |
1823 | end | |
1824 | end | |
1825 | end | |
1826 | end | |
1827 | end | |
1828 | ||
1829 | Commands.naked = function(args) | |
1830 | for i,v in pairs(LP.Character:GetDescendants()) do | |
1831 | if v:IsA("Clothing") then | |
1832 | v:Destroy() | |
1833 | end | |
1834 | end | |
1835 | end | |
1836 | ||
1837 | Commands.nolimbs = function(args) | |
1838 | LP.Character["Left Arm"]:Destroy() | |
1839 | LP.Character["Right Arm"]:Destroy() | |
1840 | LP.Character["Left Leg"]:Destroy() | |
1841 | LP.Character["Right Leg"]:Destroy() | |
1842 | end | |
1843 | ||
1844 | Commands.noarms = function(args) | |
1845 | LP.Character["Left Arm"]:Destroy() | |
1846 | LP.Character["Right Arm"]:Destroy() | |
1847 | end | |
1848 | ||
1849 | Commands.nolegs = function(args) | |
1850 | LP.Character["Left Leg"]:Destroy() | |
1851 | LP.Character["Right Leg"]:Destroy() | |
1852 | end | |
1853 | ||
1854 | Commands.headless = function(args) | |
1855 | local l = LP.Character.Humanoid:Clone() | |
1856 | LP.Character.Humanoid:Destroy() | |
1857 | wait(0.2) | |
1858 | LP.Character.Head.CanCollide = false | |
1859 | for i,v in pairs(LP.Character:GetDescendants()) do | |
1860 | if string.sub(v.Name, 1, 4) == "Neck" then | |
1861 | v:Destroy() | |
1862 | end | |
1863 | end | |
1864 | wait(0.2) | |
1865 | l.Name = "Humanoid" | |
1866 | l.Parent = LP.Character | |
1867 | wait(0.1) | |
1868 | game:GetService("Workspace").CurrentCamera.CameraSubject = LP.Character | |
1869 | LP.Character.Animate:Destroy() | |
1870 | end | |
1871 | ||
1872 | antiremotes = false | |
1873 | Commands.antikick = function(args) | |
1874 | if args[1] then | |
1875 | if args[1] == "on" then | |
1876 | antiremotes = true | |
1877 | wait(0.2) | |
1878 | for i,v in pairs(LP.Character:GetChildren()) do | |
1879 | if string.find(string.lower(v.Name), "exploit") and v:IsA("LocalScript") then | |
1880 | v.Disabled = true | |
1881 | end | |
1882 | end | |
1883 | Notification("warning", "This command disables all remotes incase they are kick remotes, may break game.", 8) | |
1884 | Notification("info", "Does not prevent serverside kicks, use "..commandPrefix.."antikick off to turn off.", 8) | |
1885 | elseif args[1] == "off" then | |
1886 | antiremotes = false | |
1887 | Notification("warning", "Remote anti-kick turned off.", 8) | |
1888 | end | |
1889 | end | |
1890 | end | |
1891 | ||
1892 | blockedremotes = {} | |
1893 | Commands.blockremote = function(args) | |
1894 | local getService = "" | |
1895 | if args[1] then | |
1896 | local remoteName = string.lower(tostring(args[1])) | |
1897 | if args[2] then | |
1898 | local serviceRemote = string.lower(tostring(args[2])) | |
1899 | if serviceRemote == "workspace" then | |
1900 | getService = "Workspace" | |
1901 | elseif serviceRemote == "replicatedstorage" then | |
1902 | getService = "ReplicatedStorage" | |
1903 | elseif serviceRemote == "players" then | |
1904 | getService = "Players" | |
1905 | elseif serviceRemote == "lighting" then | |
1906 | getService = "Lighting" | |
1907 | elseif serviceRemote == "startergui" then | |
1908 | getService = "StarterGui" | |
1909 | elseif serviceRemote == "starterpack" then | |
1910 | getService = "StarterPack" | |
1911 | elseif serviceRemote == "starterplayer" then | |
1912 | getService = "StarterPlayer" | |
1913 | else | |
1914 | getService = "ReplicatedStorage" | |
1915 | end | |
1916 | else | |
1917 | getService = "ReplicatedStorage" | |
1918 | end | |
1919 | for i,getRemote in pairs(game:GetService(getService):GetDescendants()) do | |
1920 | if string.lower(getRemote.Name) == remoteName then | |
1921 | table.insert(blockedremotes, getRemote.Name) | |
1922 | end | |
1923 | end | |
1924 | end | |
1925 | Notification("warning", "If this command does not work, make sure you type remote name/service fully correct.", 8) | |
1926 | end | |
1927 | ||
1928 | spyingremotes = false | |
1929 | Commands.remotespy = function(args) | |
1930 | if args[1] then | |
1931 | if args[1] == "on" then | |
1932 | spyingremotes = true | |
1933 | Notification("info", "Remotespy turned on.", 4) | |
1934 | elseif args[1] == "off" then | |
1935 | spyingremotes = false | |
1936 | Notification("info", "Remotespy turned off.", 4) | |
1937 | end | |
1938 | end | |
1939 | end | |
1940 | ||
1941 | Commands.bang = function(args) | |
1942 | if args[1] then | |
1943 | for i,v in pairs(findSinglePlayer(args[1])) do | |
1944 | if v ~= nil then | |
1945 | following = true | |
1946 | flwplr = v | |
1947 | flwnum = -1 | |
1948 | local bangAnimation = Instance.new("Animation") | |
1949 | bangAnimation.AnimationId = "rbxassetid://148840371" | |
1950 | bangTrack = LP.Character.Humanoid:LoadAnimation(bangAnimation) | |
1951 | if args[2] then | |
1952 | bangTrack:Play(.1, 1, args[2]) | |
1953 | else | |
1954 | bangTrack:Play(.1, 1, 1) | |
1955 | end | |
1956 | end | |
1957 | end | |
1958 | else | |
1959 | Notification("warning", "No player selected to follow! Use: "..commandPrefix.."follow player", 4) | |
1960 | end | |
1961 | end | |
1962 | ||
1963 | Commands.unbang = function(args) | |
1964 | following = false | |
1965 | bangTrack:Stop() | |
1966 | end | |
1967 | ||
1968 | spamdelay = 1 | |
1969 | spamtext = "Spam" | |
1970 | spamming = false | |
1971 | Commands.spam = function(args) | |
1972 | if args[1] then | |
1973 | spamtext = args[1] | |
1974 | spamming = true | |
1975 | end | |
1976 | end | |
1977 | Commands.spamdelay = function(args) | |
1978 | if args[1] then | |
1979 | spamdelay = args[1] | |
1980 | end | |
1981 | end | |
1982 | spawn(function() | |
1983 | while wait(spamdelay) do | |
1984 | if spamming then | |
1985 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(spamtext, "All") | |
1986 | end | |
1987 | end | |
1988 | end) | |
1989 | ||
1990 | Commands.unspam = function(args) | |
1991 | spamming = false | |
1992 | end | |
1993 | ||
1994 | Commands.info = function(args) | |
1995 | if args[1] then | |
1996 | for i,v in pairs(findSinglePlayer(args[1])) do | |
1997 | createINFO(v) | |
1998 | end | |
1999 | end | |
2000 | end | |
2001 | ||
2002 | Commands.age = function(args) | |
2003 | if args[1] then | |
2004 | for i,v in pairs(findPlayer(args[1])) do | |
2005 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(v.Name.." Account Age: "..v.AccountAge.." days!", "All") | |
2006 | end | |
2007 | end | |
2008 | end | |
2009 | ||
2010 | Commands.invisible = function(args) | |
2011 | local Character = LP.Character | |
2012 | if LP.Character.Humanoid.RigType == Enum.HumanoidRigType.R6 then | |
2013 | local Clone = Character.HumanoidRootPart:Clone() | |
2014 | Character.HumanoidRootPart:Destroy() | |
2015 | Clone.Parent = Character | |
2016 | else | |
2017 | local Clone = Character.LowerTorso.Root:Clone() | |
2018 | Character.LowerTorso.Root:Destroy() | |
2019 | Clone.Parent = Character.LowerTorso | |
2020 | end | |
2021 | end | |
2022 | ||
2023 | walkto = false | |
2024 | walkplr = "" | |
2025 | Commands.walk = function(args) | |
2026 | if args[1] then | |
2027 | for i,v in pairs(findSinglePlayer(args[1])) do | |
2028 | walkplr = v | |
2029 | walkto = true | |
2030 | noclip = true | |
2031 | end | |
2032 | end | |
2033 | end | |
2034 | ||
2035 | Commands.unwalk = function(args) | |
2036 | walkto = false | |
2037 | noclip = false | |
2038 | LP.Character.Humanoid:MoveTo(LP.Character.HumanoidRootPart.Position) | |
2039 | end | |
2040 | ||
2041 | Commands.glitch = function(args) | |
2042 | if hasTools() == false then | |
2043 | Notification("warning", "You need a tool in your backpack/inventory to use this command.", 8) | |
2044 | else | |
2045 | FEGodmode() | |
2046 | for i,v in pairs(LP.Backpack:GetChildren())do | |
2047 | LP.Character.Humanoid:EquipTool(v) | |
2048 | end | |
2049 | if args[1] then | |
2050 | for i,v in pairs(findSinglePlayer(args[1])) do | |
2051 | local function tp(player,player2) | |
2052 | local char1,char2=player.Character,player2.Character | |
2053 | if char1 and char2 then | |
2054 | char1.HumanoidRootPart.CFrame = char2.HumanoidRootPart.CFrame | |
2055 | end | |
2056 | end | |
2057 | tp(game:GetService("Players")[v.Name], LP) | |
2058 | wait(0.2) | |
2059 | tp(game:GetService("Players")[v.Name], LP) | |
2060 | wait(0.5) | |
2061 | local b = Instance.new("BodyForce") | |
2062 | b.Parent = LP.Character.HumanoidRootPart | |
2063 | b.Name = "Glitch" | |
2064 | if args[2] then | |
2065 | b.Force = Vector3.new(args[2],5000,0) | |
2066 | else | |
2067 | b.Force = Vector3.new(100000000,5000,0) | |
2068 | end | |
2069 | wait(6) | |
2070 | b:Destroy() | |
2071 | end | |
2072 | end | |
2073 | end | |
2074 | end | |
2075 | ||
2076 | Commands.tp = function(args) | |
2077 | if args[1] then | |
2078 | for i,v in pairs(findSinglePlayer(args[1])) do | |
2079 | if v == LP then | |
2080 | if args[2] then | |
2081 | for i,a in pairs(findSinglePlayer(args[2])) do | |
2082 | v.Character.HumanoidRootPart.CFrame = a.Character.HumanoidRootPart.CFrame | |
2083 | end | |
2084 | end | |
2085 | else | |
2086 | if hasTools() == false then | |
2087 | Notification("warning", "You need a tool in your backpack/inventory to use this command.", 8) | |
2088 | else | |
2089 | FEGodmode() | |
2090 | for i,v in pairs(LP.Backpack:GetChildren())do | |
2091 | LP.Character.Humanoid:EquipTool(v) | |
2092 | end | |
2093 | if args[1] then | |
2094 | for i,first in pairs(findSinglePlayer(args[1])) do | |
2095 | if args[2] then | |
2096 | for i,second in pairs(findSinglePlayer(args[2])) do | |
2097 | local function tp(player,player2) | |
2098 | local char1,char2=player.Character,player2.Character | |
2099 | if char1 and char2 then | |
2100 | char1.HumanoidRootPart.CFrame = char2.HumanoidRootPart.CFrame | |
2101 | end | |
2102 | end | |
2103 | local function getout(player,player2) | |
2104 | local char1,char2=player.Character,player2.Character | |
2105 | if char1 and char2 then | |
2106 | char1:MoveTo(char2.Head.Position) | |
2107 | end | |
2108 | end | |
2109 | tp(LP, first) | |
2110 | wait(0.2) | |
2111 | tp(LP, first) | |
2112 | wait(0.5) | |
2113 | tp(LP, second) | |
2114 | wait(0.2) | |
2115 | tp(LP, second) | |
2116 | wait(0.2) | |
2117 | getout(LP, first) | |
2118 | end | |
2119 | end | |
2120 | end | |
2121 | end | |
2122 | end | |
2123 | end | |
2124 | end | |
2125 | end | |
2126 | end | |
2127 | ||
2128 | Commands.givetool = function(args) | |
2129 | if args[1] then | |
2130 | if args[2] then | |
2131 | local selectedTool = "" | |
2132 | for i,allTools in pairs(LP.Character:GetDescendants()) do | |
2133 | if allTools:IsA("Tool") and string.lower(allTools.Name) == string.lower(args[2]) then | |
2134 | selectedTool = allTools | |
2135 | else | |
2136 | for i,otherTools in pairs(LP.Backpack:GetDescendants()) do | |
2137 | if otherTools:IsA("Tool") and string.lower(otherTools.Name) == string.lower(args[2]) then | |
2138 | selectedTool = otherTools | |
2139 | end | |
2140 | end | |
2141 | end | |
2142 | end | |
2143 | for i,v in pairs(findSinglePlayer(args[1])) do | |
2144 | if selectedTool ~= "" then | |
2145 | selectedTool.Parent = v.Character | |
2146 | end | |
2147 | end | |
2148 | else | |
2149 | for i,plr in pairs(findSinglePlayer(args[1])) do | |
2150 | for i,tool in pairs(LP.Character:GetDescendants()) do | |
2151 | if tool:IsA("Tool") then | |
2152 | tool.Parent = plr.Character | |
2153 | end | |
2154 | end | |
2155 | end | |
2156 | end | |
2157 | end | |
2158 | end | |
2159 | ||
2160 | Commands.givealltools = function(args) | |
2161 | LP.Character.Humanoid:UnequipTools() | |
2162 | for i,plr in pairs(findSinglePlayer(args[1])) do | |
2163 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2164 | if v:IsA("Tool") then | |
2165 | v.Parent = plr.Character | |
2166 | end | |
2167 | end | |
2168 | for i,a in pairs(LP.Backpack:GetDescendants()) do | |
2169 | if a:IsA("Tool") then | |
2170 | a.Parent = plr.Character | |
2171 | end | |
2172 | end | |
2173 | end | |
2174 | end | |
2175 | ||
2176 | Commands.blockhats = function(args) | |
2177 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2178 | if v:IsA("Accessory") or v:IsA("Hat") then | |
2179 | for i,mesh in pairs(v:GetDescendants()) do | |
2180 | if mesh.Name == "Mesh" then | |
2181 | mesh:Destroy() | |
2182 | end | |
2183 | end | |
2184 | end | |
2185 | end | |
2186 | end | |
2187 | ||
2188 | Commands.blocktool = function(args) | |
2189 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2190 | if v:IsA("Tool") then | |
2191 | for i,mesh in pairs(v:GetDescendants()) do | |
2192 | if mesh.Name == "Mesh" then | |
2193 | mesh:Destroy() | |
2194 | end | |
2195 | end | |
2196 | end | |
2197 | end | |
2198 | end | |
2199 | ||
2200 | Commands.orbit = function(args) | |
2201 | if args[1] then | |
2202 | for i,v in pairs(findSinglePlayer(args[1])) do | |
2203 | view(v) | |
2204 | RocketPropulsion(5000,100,5000,v,"OrbitMove") | |
2205 | end | |
2206 | else | |
2207 | Notification("warning", "No player selected to orbit! Use: "..commandPrefix.."orbit player", 4) | |
2208 | end | |
2209 | end | |
2210 | ||
2211 | Commands.unorbit = function(args) | |
2212 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2213 | if v.Name == "OrbitMove" then | |
2214 | v:Destroy() | |
2215 | end | |
2216 | end | |
2217 | view(LP) | |
2218 | end | |
2219 | ||
2220 | Commands.pos = function(args) | |
2221 | Notification("info", "Your current position is ".. tostring(LP.Character.HumanoidRootPart.Position), 9) | |
2222 | end | |
2223 | ||
2224 | SavedPosition = "" | |
2225 | Commands.savepos = function(args) | |
2226 | SavedPosition = LP.Character.HumanoidRootPart.CFrame | |
2227 | end | |
2228 | Commands.loadpos = function(args) | |
2229 | if SavedPosition ~= "" then | |
2230 | LP.Character.HumanoidRootPart.CFrame = SavedPosition | |
2231 | end | |
2232 | end | |
2233 | ||
2234 | Commands.tppos = function(args) | |
2235 | if args[1] and args[2] and args[3] then | |
2236 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(args[1], args[2], args[3])) | |
2237 | end | |
2238 | end | |
2239 | ||
2240 | Commands.pmspam = function(args) | |
2241 | if args[1] then | |
2242 | local gotPlayer = "" | |
2243 | for i,v in pairs(findPlayer(args[1])) do | |
2244 | gotPlayer = v | |
2245 | end | |
2246 | table.remove(args, 1) | |
2247 | local pmSpamMsg = table.concat(args," ") | |
2248 | spamtext = "/w "..gotPlayer.Name.." "..pmSpamMsg | |
2249 | spamming = true | |
2250 | end | |
2251 | end | |
2252 | ||
2253 | Commands.unpmspam = function(args) | |
2254 | spamming = false | |
2255 | end | |
2256 | ||
2257 | Commands.wsvis = function(args) | |
2258 | if args[1] then | |
2259 | for i,v in pairs(gsWorkspace:GetDescendants()) do | |
2260 | if v:IsA("Part") or v:IsA("Decal") then | |
2261 | if tonumber(args[1]) > 1 then | |
2262 | v.Transparency = 0.5 | |
2263 | else | |
2264 | v.Transparency = args[1] | |
2265 | end | |
2266 | end | |
2267 | end | |
2268 | end | |
2269 | clientSided() | |
2270 | end | |
2271 | ||
2272 | Commands.bringobj = function(args) | |
2273 | if args[1] then | |
2274 | local Object = "" | |
2275 | for i,v in pairs(gsWorkspace:GetDescendants()) do | |
2276 | if string.lower(v.Name) == string.lower(args[1]) then | |
2277 | Object = v | |
2278 | end | |
2279 | end | |
2280 | if Object == "" then | |
2281 | Notification("warning", "Object was not found in the workspace.", 6) | |
2282 | end | |
2283 | if args[2] then | |
2284 | Object.CFrame = LP.Character.HumanoidRootPart.CFrame + LP.Character.HumanoidRootPart.CFrame.lookVector * args[2] | |
2285 | else | |
2286 | Object.CFrame = LP.Character.HumanoidRootPart.CFrame + LP.Character.HumanoidRootPart.CFrame.lookVector * 3 | |
2287 | end | |
2288 | clientSided() | |
2289 | end | |
2290 | end | |
2291 | ||
2292 | CBRINGplr = "" | |
2293 | cbringing = false | |
2294 | cbringingall = false | |
2295 | Commands.cbring = function(args) | |
2296 | if args[1] then | |
2297 | if string.lower(tostring(args[1])) == "all" or string.lower(tostring(args[1])) == "others" then | |
2298 | cbringingall = true | |
2299 | else | |
2300 | for i,v in pairs(findPlayer(args[1])) do | |
2301 | CBRINGplr = v | |
2302 | cbringing = true | |
2303 | end | |
2304 | end | |
2305 | if args[2] then | |
2306 | CBRINGamount = args[2] | |
2307 | else | |
2308 | CBRINGamount = 3 | |
2309 | end | |
2310 | clientSided() | |
2311 | end | |
2312 | end | |
2313 | ||
2314 | Commands.uncbring = function(args) | |
2315 | cbringing = false | |
2316 | cbringingall = false | |
2317 | end | |
2318 | ||
2319 | Commands.cfreeze = function(args) | |
2320 | if args[1] then | |
2321 | for i,v in pairs(findPlayer(args[1])) do | |
2322 | v.Character.HumanoidRootPart.Anchored = true | |
2323 | end | |
2324 | clientSided() | |
2325 | end | |
2326 | end | |
2327 | ||
2328 | Commands.uncfreeze = function(args) | |
2329 | if args[1] then | |
2330 | for i,v in pairs(findPlayer(args[1])) do | |
2331 | v.Character.HumanoidRootPart.Anchored = false | |
2332 | end | |
2333 | else | |
2334 | for i,all in pairs(gsPlayers:GetPlayers()) do | |
2335 | all.Character.HumanoidRootPart.Anchored = false | |
2336 | end | |
2337 | end | |
2338 | end | |
2339 | ||
2340 | Commands.unattach = function(args) | |
2341 | local function getout(player,player2) | |
2342 | local char1,char2=player.Character,player2.Character | |
2343 | if char1 and char2 then | |
2344 | char1:MoveTo(char2.Head.Position) | |
2345 | end | |
2346 | end | |
2347 | getout(LP, LP) | |
2348 | end | |
2349 | ||
2350 | currentToolSize = "" | |
2351 | Commands.reach = function(args) | |
2352 | if args[1] then | |
2353 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2354 | if v:IsA("Tool") then | |
2355 | if string.lower(tostring(args[1])) == "off" then | |
2356 | v.Handle.Size = currentToolSize | |
2357 | v.Handle.SelectionBoxCreated:Destroy() | |
2358 | LP.Character.Humanoid:UnequipTools() | |
2359 | elseif string.lower(tostring(args[1])) == "on" then | |
2360 | if args[2] then | |
2361 | currentToolSize = v.Handle.Size | |
2362 | local a = Instance.new("SelectionBox",v.Handle) | |
2363 | a.Name = "SelectionBoxCreated" | |
2364 | a.Adornee = v.Handle | |
2365 | v.Handle.Size = Vector3.new(0.5,0.5,args[2]) | |
2366 | v.GripPos = Vector3.new(0,0,0) | |
2367 | LP.Character.Humanoid:UnequipTools() | |
2368 | else | |
2369 | currentToolSize = v.Handle.Size | |
2370 | local a = Instance.new("SelectionBox",v.Handle) | |
2371 | a.Name = "SelectionBoxCreated" | |
2372 | a.Adornee = v.Handle | |
2373 | v.Handle.Size = Vector3.new(0.5,0.5,60) | |
2374 | v.GripPos = Vector3.new(0,0,0) | |
2375 | LP.Character.Humanoid:UnequipTools() | |
2376 | end | |
2377 | end | |
2378 | end | |
2379 | end | |
2380 | end | |
2381 | end | |
2382 | ||
2383 | Commands.droptool = function(args) | |
2384 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2385 | if v:IsA("Tool") then | |
2386 | v.Parent = gsWorkspace | |
2387 | end | |
2388 | end | |
2389 | for i,a in pairs(LP.Backpack:GetDescendants()) do | |
2390 | if a:IsA("Tool") then | |
2391 | a.Parent = gsWorkspace | |
2392 | end | |
2393 | end | |
2394 | end | |
2395 | ||
2396 | Commands.drophats = function(args) | |
2397 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2398 | if v:IsA("Accessory") or v:IsA("Hat") then | |
2399 | v.Parent = gsWorkspace | |
2400 | end | |
2401 | end | |
2402 | end | |
2403 | ||
2404 | Commands.hidecmdbar = function(args) | |
2405 | CMDBAR.Visible = false | |
2406 | end | |
2407 | ||
2408 | Commands.showcmdbar = function(args) | |
2409 | CMDBAR.Visible = true | |
2410 | end | |
2411 | ||
2412 | Commands.prefix = function(args) | |
2413 | if args[1] then | |
2414 | commandPrefix = string.sub(tostring(args[1]), 1, 1) | |
2415 | fullUpdate() | |
2416 | end | |
2417 | end | |
2418 | ||
2419 | Commands.removeinvis = function(args) | |
2420 | for i,v in pairs(gsWorkspace:GetDescendants()) do | |
2421 | if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then | |
2422 | if v.Transparency == 1 then | |
2423 | v:Destroy() | |
2424 | end | |
2425 | end | |
2426 | end | |
2427 | clientSided() | |
2428 | end | |
2429 | ||
2430 | Commands.removefog = function(args) | |
2431 | gsLighting.FogStart = 0 | |
2432 | gsLighting.FogEnd = 9999999999999 | |
2433 | clientSided() | |
2434 | end | |
2435 | ||
2436 | Commands.animation = function(args) | |
2437 | if args[1] then | |
2438 | if string.lower(tostring(args[1])) == "gui" then | |
2439 | loadstring(game:HttpGet(("https://pastebin.com/raw/mdbTSP4d"),true))() | |
2440 | else | |
2441 | local Anim = Instance.new("Animation") | |
2442 | Anim.AnimationId = "rbxassetid://".. tostring(args[1]) | |
2443 | local track = LP.Character.Humanoid:LoadAnimation(Anim) | |
2444 | if args[2] then | |
2445 | track:Play(.1, 1, args[2]) | |
2446 | else | |
2447 | track:Play(.1, 1, 1) | |
2448 | end | |
2449 | end | |
2450 | end | |
2451 | end | |
2452 | ||
2453 | Commands.btools = function(args) | |
2454 | local Clone_T = Instance.new("HopperBin",LP.Backpack) | |
2455 | Clone_T.BinType = "Clone" | |
2456 | local Destruct = Instance.new("HopperBin",LP.Backpack) | |
2457 | Destruct.BinType = "Hammer" | |
2458 | local Hold_T = Instance.new("HopperBin",LP.Backpack) | |
2459 | Hold_T.BinType = "Grab" | |
2460 | clientSided() | |
2461 | end | |
2462 | ||
2463 | Commands.esp = function(args) | |
2464 | if args[1] then | |
2465 | for i,v in pairs(findPlayer(args[1])) do | |
2466 | local espPlayer = v | |
2467 | for i,createESP in pairs(espPlayer.Character:GetDescendants()) do | |
2468 | if createESP:IsA("Part") or createESP:IsA("MeshPart") then | |
2469 | if createESP.Name ~= "HumanoidRootPart" and createESP.Name ~= "Handle" then | |
2470 | local current = true | |
2471 | local espBOX = Instance.new("BoxHandleAdornment") | |
2472 | espBOX.Parent = game.Players.LocalPlayer.PlayerGui | |
2473 | espBOX.Name = "rGET"..espPlayer.Name | |
2474 | espBOX.Adornee = createESP | |
2475 | espBOX.AlwaysOnTop = true | |
2476 | espBOX.ZIndex = 0 | |
2477 | espBOX.Size = createESP.Size | |
2478 | espBOX.Transparency = 0.3 | |
2479 | local AboveHead = Instance.new("BillboardGui") | |
2480 | AboveHead.Parent = game.Players.LocalPlayer.PlayerGui | |
2481 | AboveHead.Adornee = espPlayer.Character.Head | |
2482 | AboveHead.Name = "rGET"..espPlayer.Name | |
2483 | AboveHead.Size = UDim2.new(0, 100, 0, 100) | |
2484 | AboveHead.StudsOffset = Vector3.new(0, 1, 0) | |
2485 | AboveHead.AlwaysOnTop = true | |
2486 | local Info = Instance.new("TextLabel") | |
2487 | Info.Parent = AboveHead | |
2488 | Info.BackgroundTransparency = 1 | |
2489 | Info.Position = UDim2.new(0, 0, 0, 0) | |
2490 | Info.Size = UDim2.new(1, 0, 0, 40) | |
2491 | Info.TextColor3 = Color3.fromRGB(200,200,200) | |
2492 | Info.TextStrokeTransparency = 0.5 | |
2493 | Info.TextSize = 15 | |
2494 | if espPlayer.TeamColor == LP.TeamColor then | |
2495 | espBOX.Color = BrickColor.new("Lime green") | |
2496 | Info.TextStrokeColor3 = Color3.fromRGB(10,100,10) | |
2497 | else | |
2498 | espBOX.Color = BrickColor.new("Really red") | |
2499 | Info.TextStrokeColor3 = Color3.fromRGB(100,10,10) | |
2500 | end | |
2501 | game:GetService('RunService').Stepped:connect(function() | |
2502 | if current and LP.Character.Humanoid and espPlayer.Character.HumanoidRootPart then | |
2503 | Info.Text = espPlayer.Name.." (".. math.floor((LP.Character.HumanoidRootPart.Position - espPlayer.Character.HumanoidRootPart.Position).magnitude)..")" | |
2504 | end | |
2505 | end) | |
2506 | espPlayer.Character.Humanoid.Died:Connect(function() | |
2507 | current = false | |
2508 | espBOX:Destroy() | |
2509 | AboveHead:Destroy() | |
2510 | end) | |
2511 | gsPlayers.PlayerRemoving:Connect(function(plr) | |
2512 | if plr == espPlayer then | |
2513 | current = false | |
2514 | espBOX:Destroy() | |
2515 | AboveHead:Destroy() | |
2516 | end | |
2517 | end) | |
2518 | end | |
2519 | end | |
2520 | end | |
2521 | end | |
2522 | clientSided() | |
2523 | end | |
2524 | end | |
2525 | ||
2526 | Commands.unesp = function(args) | |
2527 | if not args[1] then | |
2528 | for i,v in pairs(gsCoreGui:GetDescendants()) do | |
2529 | if string.sub(v.Name, 1, 4) == "rGET" then | |
2530 | v:Destroy() | |
2531 | end | |
2532 | end | |
2533 | else | |
2534 | for i,v in pairs(gsCoreGui:GetDescendants()) do | |
2535 | if string.sub(v.Name, 1, 4) == "rGET" then | |
2536 | for i,a in pairs(findPlayer(args[1])) do | |
2537 | if string.sub(v.Name, 5) == a.Name then | |
2538 | v:Destroy() | |
2539 | end | |
2540 | end | |
2541 | end | |
2542 | end | |
2543 | end | |
2544 | end | |
2545 | ||
2546 | Commands.dice = function(args) | |
2547 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("You rolled a dice for ".. tostring(math.random(1, 6)), "All") | |
2548 | end | |
2549 | ||
2550 | Commands.random = function(args) | |
2551 | if args[1] and args[2] then | |
2552 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Picking random number between "..args[1].." and "..args[2].."... The number is ".. tostring(math.random(args[1], args[2])), "All") | |
2553 | end | |
2554 | end | |
2555 | ||
2556 | Commands.closegame = function(args) | |
2557 | game:Shutdown() | |
2558 | end | |
2559 | ||
2560 | Commands.savetool = function(args) | |
2561 | if args[1] then | |
2562 | for i,a in pairs(LP.Character:GetDescendants()) do | |
2563 | if a:IsA("Tool") and string.lower(a.Name) == string.lower(tostring(args[1])) then | |
2564 | a.Parent = LP | |
2565 | local oldName = a.Name | |
2566 | a.Name = "saved "..oldName | |
2567 | else | |
2568 | for i,n in pairs(LP.Backpack:GetDescendants()) do | |
2569 | if n:IsA("Tool") and string.lower(n.Name) == string.lower(tostring(args[1])) then | |
2570 | n.Parent = LP | |
2571 | local sOldName = n.Name | |
2572 | n.Name = "saved "..sOldName | |
2573 | end | |
2574 | end | |
2575 | end | |
2576 | end | |
2577 | else | |
2578 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2579 | if v:IsA("Tool") then | |
2580 | v.Parent = LP | |
2581 | local oldName = v.Name | |
2582 | v.Name = "saved "..oldName | |
2583 | end | |
2584 | end | |
2585 | end | |
2586 | end | |
2587 | ||
2588 | Commands.loadtool = function(args) | |
2589 | if args[1] then | |
2590 | for i,a in pairs(LP:GetChildren()) do | |
2591 | if a:IsA("Tool") and string.sub(a.Name, 1, 5) == "saved" and string.lower(string.sub(a.Name, 7)) == string.lower(tostring(args[1])) then | |
2592 | a.Parent = LP.Backpack | |
2593 | local currentName = a.Name | |
2594 | a.Name = string.sub(currentName, 7) | |
2595 | end | |
2596 | end | |
2597 | else | |
2598 | for i,v in pairs(LP:GetChildren()) do | |
2599 | if string.sub(v.Name, 1, 5) == "saved" then | |
2600 | v.Parent = LP.Backpack | |
2601 | local currentName = v.Name | |
2602 | v.Name = string.sub(currentName, 7) | |
2603 | end | |
2604 | end | |
2605 | end | |
2606 | end | |
2607 | ||
2608 | Commands.savealltool = function(args) | |
2609 | for i,v in pairs(LP.Character:GetDescendants()) do | |
2610 | if v:IsA("Tool") then | |
2611 | v.Parent = LP | |
2612 | local oldName = v.Name | |
2613 | v.Name = "saved "..oldName | |
2614 | end | |
2615 | end | |
2616 | for i,v in pairs(LP.Backpack:GetDescendants()) do | |
2617 | if v:IsA("Tool") then | |
2618 | v.Parent = LP | |
2619 | local oldName = v.Name | |
2620 | v.Name = "saved "..oldName | |
2621 | end | |
2622 | end | |
2623 | end | |
2624 | ||
2625 | Commands.loadalltool = function(args) | |
2626 | for i,v in pairs(LP:GetChildren()) do | |
2627 | if v:IsA("Tool") and string.sub(v.Name, 1, 5) == "saved" then | |
2628 | v.Parent = LP.Backpack | |
2629 | local currentName = v.Name | |
2630 | v.Name = string.sub(currentName, 7) | |
2631 | end | |
2632 | end | |
2633 | end | |
2634 | ||
2635 | Mouse.KeyDown:Connect(function(key) | |
2636 | if key == clicktpKEY and clicktpACTIVE == true then | |
2637 | if Mouse.Target then | |
2638 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(Mouse.Hit.x, Mouse.Hit.y + 5, Mouse.Hit.z) | |
2639 | end | |
2640 | end | |
2641 | if key == clickdelKEY and clickdelACTIVE == true then | |
2642 | if Mouse.Target then | |
2643 | Mouse.Target:Destroy() | |
2644 | end | |
2645 | end | |
2646 | end) | |
2647 | Mouse.Button1Down:Connect(function() | |
2648 | if clicktpACTIVE == true and clicktpCLICK == true then | |
2649 | if Mouse.Target then | |
2650 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(Mouse.Hit.x, Mouse.Hit.y + 5, Mouse.Hit.z) | |
2651 | end | |
2652 | end | |
2653 | if clickdelACTIVE == true and clickdelCLICK == true then | |
2654 | if Mouse.Target then | |
2655 | Mouse.Target:Destroy() | |
2656 | end | |
2657 | end | |
2658 | end) | |
2659 | ||
2660 | clicktpKEY = "" | |
2661 | clickdelKEY = "" | |
2662 | clicktpACTIVE = false | |
2663 | clickdelACTIVE = false | |
2664 | clicktpCLICK = false | |
2665 | clickdelCLICK = false | |
2666 | ||
2667 | Commands.clicktp = function(args) | |
2668 | if args[1] then | |
2669 | clicktpKEY = string.sub(tostring(args[1]), 1, 1) | |
2670 | clicktpACTIVE = true | |
2671 | clicktpCLICK = false | |
2672 | else | |
2673 | clicktpKEY = "" | |
2674 | clicktpACTIVE = true | |
2675 | clicktpCLICK = true | |
2676 | end | |
2677 | clientSided() | |
2678 | end | |
2679 | ||
2680 | Commands.clickdel = function(args) | |
2681 | if args[1] then | |
2682 | clickdelKEY = string.sub(tostring(args[1]), 1, 1) | |
2683 | clickdelACTIVE = true | |
2684 | clickdelCLICK = false | |
2685 | else | |
2686 | clickdelKEY = "" | |
2687 | clickdelACTIVE = true | |
2688 | clickdelCLICK = true | |
2689 | end | |
2690 | clientSided() | |
2691 | end | |
2692 | ||
2693 | Commands.unclicktp = function(args) | |
2694 | clicktpACTIVE = false | |
2695 | end | |
2696 | ||
2697 | Commands.unclickdel = function(args) | |
2698 | clickdelACTIVE = false | |
2699 | end | |
2700 | ||
2701 | Commands.oof = function(args) | |
2702 | spawn(function() | |
2703 | while wait() do | |
2704 | for i,v in pairs(game:GetService'Players':GetPlayers()) do | |
2705 | if v.Character ~= nil and v.Character:FindFirstChild'Head' then | |
2706 | for _,x in pairs(v.Character.Head:GetChildren()) do | |
2707 | if x:IsA'Sound' then x.Playing = true x.CharacterSoundEvent:FireServer(true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true) end | |
2708 | end | |
2709 | end | |
2710 | end | |
2711 | end | |
2712 | end) | |
2713 | end | |
2714 | ||
2715 | Commands.chatlogs = function(args) | |
2716 | MainChatFrame.Position = UDim2.new(0, 760, 0, 261) | |
2717 | MainChatFrame.Visible = true | |
2718 | end | |
2719 | ||
2720 | Commands.stopadmin = function(args) | |
2721 | commandPrefix = " " | |
2722 | following = false | |
2723 | trailing = false | |
2724 | annoying = false | |
2725 | CMDBAR.Visible = false | |
2726 | Match.Visible = false | |
2727 | flying = false | |
2728 | end | |
2729 | ||
2730 | Commands.freecam = function(args) | |
2731 | for i,getFC in pairs(gsWorkspace:GetDescendants()) do | |
2732 | if getFC.Name == "rGETpartNUMBER2" then | |
2733 | getFC:Destroy() | |
2734 | end | |
2735 | end | |
2736 | local CameraPart = Instance.new("Part") | |
2737 | CameraPart.CanCollide = false | |
2738 | CameraPart.CFrame = LP.Character.Head.CFrame | |
2739 | CameraPart.Locked = true | |
2740 | CameraPart.Transparency = 1 | |
2741 | CameraPart.Size = Vector3.new(1, 1, 1) | |
2742 | CameraPart.Parent = gsWorkspace | |
2743 | CameraPart.Name = "rGETpartNUMBER2" | |
2744 | if bypassMODE == true then | |
2745 | loopviewfc = true | |
2746 | elseif bypassMODE == false then | |
2747 | gsWorkspace.CurrentCamera.CameraSubject = CameraPart | |
2748 | end | |
2749 | local speedget = 1 | |
2750 | local T = CameraPart | |
2751 | local CONTROL = {F = 0, B = 0, L = 0, R = 0} | |
2752 | local lCONTROL = {F = 0, B = 0, L = 0, R = 0} | |
2753 | local SPEED = speedget | |
2754 | if args[1] then | |
2755 | speedfly = tonumber(args[1]) | |
2756 | else | |
2757 | speedfly = 1 | |
2758 | end | |
2759 | local function freecamfly() | |
2760 | LP.Character.Head.Anchored = true | |
2761 | doFREECAM = true | |
2762 | local BG = Instance.new('BodyGyro', T) | |
2763 | local BV = Instance.new('BodyVelocity', T) | |
2764 | BG.P = 9e4 | |
2765 | BG.maxTorque = Vector3.new(9e9, 9e9, 9e9) | |
2766 | BG.cframe = T.CFrame | |
2767 | BV.velocity = Vector3.new(0, 0.1, 0) | |
2768 | BV.maxForce = Vector3.new(9e9, 9e9, 9e9) | |
2769 | spawn(function() | |
2770 | repeat wait() | |
2771 | if CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 then | |
2772 | SPEED = 50 | |
2773 | elseif not (CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0) and SPEED ~= 0 then | |
2774 | SPEED = 0 | |
2775 | end | |
2776 | if (CONTROL.L + CONTROL.R) ~= 0 or (CONTROL.F + CONTROL.B) ~= 0 then | |
2777 | BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (CONTROL.F + CONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(CONTROL.L + CONTROL.R, (CONTROL.F + CONTROL.B) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED | |
2778 | lCONTROL = {F = CONTROL.F, B = CONTROL.B, L = CONTROL.L, R = CONTROL.R} | |
2779 | elseif (CONTROL.L + CONTROL.R) == 0 and (CONTROL.F + CONTROL.B) == 0 and SPEED ~= 0 then | |
2780 | BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (lCONTROL.F + lCONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(lCONTROL.L + lCONTROL.R, (lCONTROL.F + lCONTROL.B) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED | |
2781 | else | |
2782 | BV.velocity = Vector3.new(0, 0.1, 0) | |
2783 | end | |
2784 | BG.cframe = workspace.CurrentCamera.CoordinateFrame | |
2785 | until not doFREECAM | |
2786 | CONTROL = {F = 0, B = 0, L = 0, R = 0} | |
2787 | lCONTROL = {F = 0, B = 0, L = 0, R = 0} | |
2788 | SPEED = 0 | |
2789 | BG:destroy() | |
2790 | BV:destroy() | |
2791 | end) | |
2792 | end | |
2793 | Mouse.KeyDown:connect(function(KEY) | |
2794 | if KEY:lower() == 'w' then | |
2795 | CONTROL.F = speedfly | |
2796 | elseif KEY:lower() == 's' then | |
2797 | CONTROL.B = -speedfly | |
2798 | elseif KEY:lower() == 'a' then | |
2799 | CONTROL.L = -speedfly | |
2800 | elseif KEY:lower() == 'd' then | |
2801 | CONTROL.R = speedfly | |
2802 | end | |
2803 | end) | |
2804 | Mouse.KeyUp:connect(function(KEY) | |
2805 | if KEY:lower() == 'w' then | |
2806 | CONTROL.F = 0 | |
2807 | elseif KEY:lower() == 's' then | |
2808 | CONTROL.B = 0 | |
2809 | elseif KEY:lower() == 'a' then | |
2810 | CONTROL.L = 0 | |
2811 | elseif KEY:lower() == 'd' then | |
2812 | CONTROL.R = 0 | |
2813 | end | |
2814 | end) | |
2815 | freecamfly() | |
2816 | end | |
2817 | ||
2818 | Commands.fc = function(args) | |
2819 | if args[1] then | |
2820 | run(commandPrefix.."freecam "..args[1]) | |
2821 | else | |
2822 | run(commandPrefix.."freecam") | |
2823 | end | |
2824 | end | |
2825 | ||
2826 | Commands.unfreecam = function(args) | |
2827 | doFREECAM = false | |
2828 | LP.Character.Head.Anchored = false | |
2829 | view(LP) | |
2830 | if gsWorkspace.rGETpartNUMBER2 then | |
2831 | gsWorkspace.rGETpartNUMBER2:Destroy() | |
2832 | end | |
2833 | loopviewfc = false | |
2834 | end | |
2835 | ||
2836 | Commands.unfc = function(args) | |
2837 | doFREECAM = false | |
2838 | LP.Character.Head.Anchored = false | |
2839 | view(LP) | |
2840 | if gsWorkspace.rGETpartNUMBER2 then | |
2841 | gsWorkspace.rGETpartNUMBER2:Destroy() | |
2842 | end | |
2843 | loopviewfc = false | |
2844 | end | |
2845 | ||
2846 | Commands.gotofc = function(args) | |
2847 | doFREECAM = false | |
2848 | LP.Character.Head.Anchored = false | |
2849 | view(LP) | |
2850 | pcall(function() | |
2851 | LP.Character.HumanoidRootPart.CFrame = gsWorkspace.rGETpartNUMBER2.CFrame | |
2852 | gsWorkspace.rGETpartNUMBER2:Destroy() | |
2853 | end) | |
2854 | loopviewfc = false | |
2855 | end | |
2856 | ||
2857 | Commands.fctp = function(args) | |
2858 | if args[1] then | |
2859 | for i,v in pairs(findPlayer(args[1])) do | |
2860 | pcall(function() | |
2861 | gsWorkspace.rGETpartNUMBER2.CFrame = v.Character.Head.CFrame | |
2862 | end) | |
2863 | end | |
2864 | end | |
2865 | end | |
2866 | ||
2867 | Commands.cmds = function(args) | |
2868 | CMDSmain.Position = UDim2.new(0, 695, 0, 297) | |
2869 | CMDSmain.Visible = true | |
2870 | CMDSmain:TweenSize(UDim2.new(0, 440, 0, 367), "InOut", "Sine", 1) | |
2871 | end | |
2872 | ||
2873 | Commands.fullcredits = function(args) | |
2874 | Notification("info", "Credit to Autumn, Josh and 3dsboy08 (Help with "..commandPrefix.."remotespy and anti client kick)", 1) | |
2875 | Notification("info", "Credit to Infinite Yield developers (Assisted in "..commandPrefix.."esp and "..commandPrefix.."fly commands)", 1) | |
2876 | Notification("info", "Credit to Timeless ("..commandPrefix.."invisible) and Harkinian ("..commandPrefix.."shutdown)", 1) | |
2877 | Notification("info", "Credit to DEX creators ("..commandPrefix.."explorer) and xFunnieuss ("..commandPrefix.."spinhats)", 1) | |
2878 | Notification("info", "Only creator is illremember", 2) | |
2879 | end | |
2880 | ||
2881 | Commands.hotkey = function(args) | |
2882 | if args[1] then | |
2883 | local hotkeyKEY = string.sub(tostring(args[1]), 1, 3) | |
2884 | if args[2] then | |
2885 | table.remove(args, 1) | |
2886 | local hotkeyCMD = table.concat(args, " ") | |
2887 | table.insert(hotkeys, hotkeyCMD.."//"..hotkeyKEY) | |
2888 | fullUpdate() | |
2889 | Notification("info", "Hotkey added!", 1) | |
2890 | end | |
2891 | end | |
2892 | end | |
2893 | ||
2894 | Mouse.KeyDown:Connect(function(key) | |
2895 | for i,v in pairs(hotkeys) do | |
2896 | local currentKey = string.match(v, "[%a%d]+$") | |
2897 | if string.len(currentKey) == 1 then | |
2898 | if key == string.sub(v, #v, #v) then | |
2899 | local commandtoRUN = string.match(v, "^[%w%s]+") | |
2900 | if string.sub(string.lower(tostring(commandtoRUN)), 1, 3) == "fly" then | |
2901 | if bypassMODE == true then | |
2902 | if doFREECAM == false then | |
2903 | run(commandPrefix..tostring(commandtoRUN)) | |
2904 | else | |
2905 | run(commandPrefix.."unfly") | |
2906 | end | |
2907 | else | |
2908 | if flying == false then | |
2909 | run(commandPrefix..tostring(commandtoRUN)) | |
2910 | else | |
2911 | run(commandPrefix.."unfly") | |
2912 | end | |
2913 | end | |
2914 | elseif tostring(commandtoRUN) == "noclip" then | |
2915 | if noclip == false then | |
2916 | run(commandPrefix..tostring(commandtoRUN)) | |
2917 | else | |
2918 | run(commandPrefix.."clip") | |
2919 | end | |
2920 | elseif tostring(commandtoRUN) == "freecam" or tostring(commandtoRUN) == "fc" then | |
2921 | if doFREECAM == false then | |
2922 | run(commandPrefix..tostring(commandtoRUN)) | |
2923 | else | |
2924 | if fchotkeymode == "goto" then | |
2925 | run(commandPrefix.."gotofc") | |
2926 | elseif fchotkeymode == "unfc" then | |
2927 | run(commandPrefix.."unfreecam") | |
2928 | end | |
2929 | end | |
2930 | else | |
2931 | run(commandPrefix..tostring(commandtoRUN)) | |
2932 | end | |
2933 | end | |
2934 | else | |
2935 | if string.lower(string.sub(tostring(currentKey), 1, 1)) == "f" then | |
2936 | local commandtoRUN = string.match(v, "^[%w%s]+") | |
2937 | local hotkeyadjust = tonumber(string.sub(currentKey, 2, 3)) + 25 | |
2938 | if string.byte(key) == hotkeyadjust then | |
2939 | if string.sub(string.lower(tostring(commandtoRUN)), 1, 3) == "fly" then | |
2940 | if bypassMODE == true then | |
2941 | if doFREECAM == false then | |
2942 | run(commandPrefix..tostring(commandtoRUN)) | |
2943 | else | |
2944 | run(commandPrefix.."unfly") | |
2945 | end | |
2946 | else | |
2947 | if flying == false then | |
2948 | run(commandPrefix..tostring(commandtoRUN)) | |
2949 | else | |
2950 | run(commandPrefix.."unfly") | |
2951 | end | |
2952 | end | |
2953 | elseif tostring(commandtoRUN) == "noclip" then | |
2954 | if noclip == false then | |
2955 | run(commandPrefix..tostring(commandtoRUN)) | |
2956 | else | |
2957 | run(commandPrefix.."clip") | |
2958 | end | |
2959 | elseif tostring(commandtoRUN) == "freecam" or tostring(commandtoRUN) == "fc" then | |
2960 | if doFREECAM == false then | |
2961 | run(commandPrefix..tostring(commandtoRUN)) | |
2962 | else | |
2963 | if fchotkeymode == "goto" then | |
2964 | run(commandPrefix.."gotofc") | |
2965 | elseif fchotkeymode == "unfc" then | |
2966 | run(commandPrefix.."unfreecam") | |
2967 | end | |
2968 | end | |
2969 | else | |
2970 | run(commandPrefix..tostring(commandtoRUN)) | |
2971 | end | |
2972 | end | |
2973 | end | |
2974 | end | |
2975 | end | |
2976 | end) | |
2977 | ||
2978 | Commands.removeallhotkey = function(args) | |
2979 | hotkeys = {} | |
2980 | fullUpdate() | |
2981 | Notification("warning", "All hotkeys reset/removed", 6) | |
2982 | end | |
2983 | ||
2984 | Commands.removehotkey = function(args) | |
2985 | if args[1] then | |
2986 | for i,v in pairs(hotkeys) do | |
2987 | local currentKey = string.match(v, "[%a%d]+$") | |
2988 | if currentKey == string.lower(tostring(args[1])) then | |
2989 | table.remove(hotkeys, i) | |
2990 | fullUpdate() | |
2991 | end | |
2992 | end | |
2993 | end | |
2994 | end | |
2995 | ||
2996 | Commands.printhotkeys = function(args) | |
2997 | for i,v in pairs(hotkeys) do | |
2998 | warn("HOTKEYS:") | |
2999 | print(v) | |
3000 | end | |
3001 | end | |
3002 | ||
3003 | Commands.os = function(args) | |
3004 | if args[1] then | |
3005 | for i,v in pairs(findPlayer(args[1])) do | |
3006 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(v.Name.." is on "..v.OsPlatform, "All") | |
3007 | end | |
3008 | end | |
3009 | end | |
3010 | ||
3011 | spinning = false | |
3012 | Commands.spin = function(args) | |
3013 | if args[1] then | |
3014 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3015 | run(commandPrefix.."attach "..v.Name) | |
3016 | annplr = v | |
3017 | annoying = true | |
3018 | spinning = true | |
3019 | end | |
3020 | end | |
3021 | end | |
3022 | ||
3023 | Commands.unspin = function(args) | |
3024 | if spinning then | |
3025 | annoying = false | |
3026 | spinning = false | |
3027 | end | |
3028 | run(""..commandPrefix.."unattach") | |
3029 | end | |
3030 | ||
3031 | Commands.explorer = function(args) | |
3032 | loadstring(game:GetObjects("rbxassetid://418957341")[1].Source)() | |
3033 | Notification("info", "Loaded DEX explorer!", 5) | |
3034 | end | |
3035 | ||
3036 | Commands.maxzoom = function(args) | |
3037 | if args[1] then | |
3038 | LP.CameraMaxZoomDistance = args[1] | |
3039 | end | |
3040 | end | |
3041 | ||
3042 | Commands.stare = function(args) | |
3043 | if args[1] then | |
3044 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3045 | stareplr = v | |
3046 | staring = true | |
3047 | end | |
3048 | end | |
3049 | end | |
3050 | ||
3051 | Commands.unstare = function(args) | |
3052 | staring = false | |
3053 | end | |
3054 | ||
3055 | Commands.tempgod = function(args) | |
3056 | local hu = LP.Character.Humanoid | |
3057 | local l = Instance.new("Humanoid") | |
3058 | l.Parent = LP.Character | |
3059 | l.Name = "Humanoid" | |
3060 | wait(0.1) | |
3061 | hu.Parent = LP | |
3062 | gsWorkspace.CurrentCamera.CameraSubject = LP.Character | |
3063 | LP.Character.Animate.Disabled = true | |
3064 | wait(0.1) | |
3065 | LP.Character.Animate.Disabled = false | |
3066 | Notification("info", "Enabled Temp FE Godmode", 4) | |
3067 | end | |
3068 | ||
3069 | Commands.void = function(args) | |
3070 | if hasTools() == false then | |
3071 | Notification("warning", "You need a tool in your backpack/inventory to use this command.", 8) | |
3072 | else | |
3073 | FEGodmode() | |
3074 | for i,v in pairs(LP.Backpack:GetChildren())do | |
3075 | LP.Character.Humanoid:EquipTool(v) | |
3076 | end | |
3077 | if args[1] then | |
3078 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3079 | local NOW = LP.Character.HumanoidRootPart.CFrame | |
3080 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
3081 | wait(0.3) | |
3082 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
3083 | local function tp(player,player2) | |
3084 | local char1,char2=player.Character,player2.Character | |
3085 | if char1 and char2 then | |
3086 | char1:MoveTo(char2.Head.Position) | |
3087 | end | |
3088 | end | |
3089 | wait(0.5) | |
3090 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(999999999999999,0,999999999999999)) | |
3091 | end | |
3092 | end | |
3093 | end | |
3094 | end | |
3095 | ||
3096 | Commands.freefall = function(args) | |
3097 | if hasTools() == false then | |
3098 | Notification("warning", "You need a tool in your backpack/inventory to use this command.", 8) | |
3099 | else | |
3100 | FEGodmode() | |
3101 | for i,v in pairs(LP.Backpack:GetChildren())do | |
3102 | LP.Character.Humanoid:EquipTool(v) | |
3103 | end | |
3104 | if args[1] then | |
3105 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3106 | local NOW = LP.Character.HumanoidRootPart.CFrame | |
3107 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
3108 | wait(0.3) | |
3109 | LP.Character.HumanoidRootPart.CFrame = v.Character["Left Arm"].CFrame | |
3110 | wait(0.5) | |
3111 | LP.Character.HumanoidRootPart.CFrame = NOW | |
3112 | wait(0.5) | |
3113 | LP.Character.HumanoidRootPart.CFrame = NOW | |
3114 | wait(0.6) | |
3115 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(0,50000,0) | |
3116 | end | |
3117 | end | |
3118 | end | |
3119 | end | |
3120 | ||
3121 | Commands.version = function(args) | |
3122 | Notification("info", "Current Shattervast Version: V2.8", 7) | |
3123 | end | |
3124 | ||
3125 | Commands.shiftlockon = function(args) | |
3126 | LP.DevEnableMouseLock = true | |
3127 | Notification("info", "Shift lock enabled!", 5) | |
3128 | end | |
3129 | ||
3130 | for i,needChat in pairs(gsPlayers:GetPlayers()) do | |
3131 | needChat.Chatted:Connect(function(msg) | |
3132 | if copychatall then | |
3133 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(msg, "All") | |
3134 | end | |
3135 | end) | |
3136 | end | |
3137 | gsPlayers.PlayerAdded:Connect(function(plr) | |
3138 | plr.Chatted:Connect(function(msg) | |
3139 | if copychatall then | |
3140 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(msg, "All") | |
3141 | end | |
3142 | end) | |
3143 | end) | |
3144 | ||
3145 | copychatplayer = nil | |
3146 | copychatall = false | |
3147 | copychatACTIVE = false | |
3148 | Commands.copychat = function(args) | |
3149 | if args[1] then | |
3150 | if string.lower(args[1]) == "all" or string.lower(args[1]) == "others" then | |
3151 | copychatall = true | |
3152 | else | |
3153 | for i,v in pairs(findPlayer(args[1])) do | |
3154 | if v ~= LP then | |
3155 | copychatplayer = v | |
3156 | copychatACTIVE = true | |
3157 | end | |
3158 | end | |
3159 | end | |
3160 | end | |
3161 | end | |
3162 | ||
3163 | Commands.uncopychat = function(args) | |
3164 | copychatall = false | |
3165 | copychatACTIVE = false | |
3166 | end | |
3167 | ||
3168 | Commands.newkill = function(args) | |
3169 | if hasTools() == false then | |
3170 | Notification("warning", "You need TWO tools in your backpack/inventory to use this command.", 8) | |
3171 | else | |
3172 | if args[1] then | |
3173 | for i,plr in pairs(findSinglePlayer(args[1])) do | |
3174 | for i,v in pairs(LP.Backpack:GetChildren())do | |
3175 | LP.Character.Humanoid:EquipTool(v) | |
3176 | end | |
3177 | for i,v in pairs(LP.Backpack:GetDescendants()) do | |
3178 | if v:IsA("Tool") then | |
3179 | v.Parent = LP.Character | |
3180 | wait() | |
3181 | v.Parent = plr.Character | |
3182 | end | |
3183 | end | |
3184 | wait(0.4) | |
3185 | LP.Character.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(4000000, -10, 200000)) | |
3186 | end | |
3187 | end | |
3188 | end | |
3189 | end | |
3190 | ||
3191 | Commands.newattach = function(args) | |
3192 | if hasTools() == false then | |
3193 | Notification("warning", "You need TWO tools in your backpack/inventory to use this command.", 8) | |
3194 | else | |
3195 | if args[1] then | |
3196 | for i,plr in pairs(findSinglePlayer(args[1])) do | |
3197 | for i,v in pairs(LP.Backpack:GetChildren())do | |
3198 | LP.Character.Humanoid:EquipTool(v) | |
3199 | end | |
3200 | for i,v in pairs(LP.Backpack:GetDescendants()) do | |
3201 | if v:IsA("Tool") then | |
3202 | v.Parent = LP.Character | |
3203 | wait() | |
3204 | v.Parent = plr.Character | |
3205 | end | |
3206 | end | |
3207 | end | |
3208 | end | |
3209 | end | |
3210 | end | |
3211 | ||
3212 | Commands.newbring = function(args) | |
3213 | if hasTools() == false then | |
3214 | Notification("warning", "You need TWO tools in your backpack/inventory to use this command.", 8) | |
3215 | else | |
3216 | if args[1] then | |
3217 | for i,plr in pairs(findSinglePlayer(args[1])) do | |
3218 | local NOW = LP.Character.HumanoidRootPart.CFrame | |
3219 | for i,v in pairs(LP.Backpack:GetChildren())do | |
3220 | LP.Character.Humanoid:EquipTool(v) | |
3221 | end | |
3222 | for i,v in pairs(LP.Backpack:GetDescendants()) do | |
3223 | if v:IsA("Tool") then | |
3224 | v.Parent = LP.Character | |
3225 | wait() | |
3226 | v.Parent = plr.Character | |
3227 | end | |
3228 | end | |
3229 | wait(0.4) | |
3230 | LP.Character.HumanoidRootPart.CFrame = NOW | |
3231 | wait(0.4) | |
3232 | LP.Character.HumanoidRootPart.CFrame = NOW | |
3233 | end | |
3234 | end | |
3235 | end | |
3236 | end | |
3237 | ||
3238 | Commands.spawn = function(args) | |
3239 | if args[1] then | |
3240 | if string.lower(tostring(args[1])) == "ws" then | |
3241 | spawnWS = args[2] or CurrentWalkspeed | |
3242 | LP.Character.Humanoid.WalkSpeed = args[2] or CurrentWalkspeed | |
3243 | elseif string.lower(tostring(args[1])) == "jp" then | |
3244 | spawnJP = args[2] or CurrentJumppower | |
3245 | LP.Character.Humanoid.JumpPower = args[2] or CurrentJumppower | |
3246 | elseif string.lower(tostring(args[1])) == "hh" then | |
3247 | spawnHH = args[2] or CurrentHipheight | |
3248 | LP.Character.Humanoid.HipHeight = args[2] or CurrentHipheight | |
3249 | elseif string.lower(tostring(args[1])) == "god" then | |
3250 | spawningfegod = true | |
3251 | FEGodmode() | |
3252 | end | |
3253 | end | |
3254 | end | |
3255 | ||
3256 | Commands.unspawn = function(args) | |
3257 | spawnWS = CurrentWalkspeed | |
3258 | spawnJP = CurrentJumppower | |
3259 | spawnHH = CurrentHipheight | |
3260 | spawningfegod = false | |
3261 | Notification("info", "Reset spawning stats", 5) | |
3262 | end | |
3263 | ||
3264 | savingtoolsloop = false | |
3265 | Commands.autosavetool = function(args) | |
3266 | if args[1] then | |
3267 | if string.lower(tostring(args[1])) == "on" then | |
3268 | savingtoolsloop = true | |
3269 | elseif string.lower(tostring(args[1])) == "off" then | |
3270 | savingtoolsloop = false | |
3271 | end | |
3272 | end | |
3273 | end | |
3274 | ||
3275 | modeFling = false | |
3276 | modeCompliment = false | |
3277 | modeMove = false | |
3278 | modeInfo = false | |
3279 | Commands.beginbot = function(args) | |
3280 | if not args[1] then | |
3281 | print("fling // compliment // move // info") | |
3282 | Notification("info", ""..commandPrefix.."beginbot Modes printed", 5) | |
3283 | else | |
3284 | if string.lower(tostring(args[1])) == "fling" then | |
3285 | modeFling = true | |
3286 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Hello! I am Fling-Bot 5000! Say !fling [Player] to fling that player!", "All") | |
3287 | elseif string.lower(tostring(args[1])) == "compliment" then | |
3288 | modeCompliment = true | |
3289 | complimentReady = true | |
3290 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Good day, I am Compliment-Bot. Say !c [Player] to give them a compliment.", "All") | |
3291 | elseif string.lower(tostring(args[1])) == "move" then | |
3292 | modeMove = true | |
3293 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Hi, I am movement bot. Commands you can use: !walk [Player], !bringbot, !follow [Player].", "All") | |
3294 | elseif string.lower(tostring(args[1])) == "info" then | |
3295 | modeInfo = true | |
3296 | infoReady = true | |
3297 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("Hey, I'm Info-Bot. Commands you can use: !age [Player], !id [Player].", "All") | |
3298 | end | |
3299 | end | |
3300 | end | |
3301 | ||
3302 | Commands.endbot = function(args) | |
3303 | if not args[1] then | |
3304 | modeFling = false | |
3305 | modeCompliment = false | |
3306 | modeMove = false | |
3307 | modeInfo = false | |
3308 | else | |
3309 | if string.lower(tostring(args[1])) == "fling" then | |
3310 | modeFling = false | |
3311 | elseif string.lower(tostring(args[1])) == "compliment" then | |
3312 | modeCompliment = false | |
3313 | elseif string.lower(tostring(args[1])) == "move" then | |
3314 | modeMove = false | |
3315 | elseif string.lower(tostring(args[1])) == "info" then | |
3316 | modeInfo = false | |
3317 | end | |
3318 | end | |
3319 | end | |
3320 | ||
3321 | Commands.stopsit = function(args) | |
3322 | stopsitting = true | |
3323 | end | |
3324 | ||
3325 | Commands.gosit = function(args) | |
3326 | stopsitting = false | |
3327 | end | |
3328 | ||
3329 | chattingerror = true | |
3330 | Commands.chaterror = function(args) | |
3331 | if chattingerror then | |
3332 | chattingerror = false | |
3333 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(" ", "All") | |
3334 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(" ", "All") | |
3335 | wait(4) | |
3336 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(" ", "All") | |
3337 | wait(3) | |
3338 | chattingerror = true | |
3339 | end | |
3340 | end | |
3341 | ||
3342 | spawnpos = nil | |
3343 | spawningpos = true | |
3344 | Commands.spawnpoint = function(args) | |
3345 | spawnpos = LP.Character.HumanoidRootPart.CFrame | |
3346 | spawningpos = true | |
3347 | Notification("info", "Spawn point has been set! Use "..commandPrefix.."nospawn to remove.", 6) | |
3348 | end | |
3349 | ||
3350 | Commands.nospawn = function(args) | |
3351 | spawningpos = false | |
3352 | Notification("info", "Spawn point has been removed. Use "..commandPrefix.."spawnpoint to enable.", 6) | |
3353 | end | |
3354 | ||
3355 | Commands.bypass = function(args) | |
3356 | if args[1] then | |
3357 | if string.lower(tostring(args[1])) == "on" then | |
3358 | bypassMODE = true | |
3359 | Notification("warning", "Bypass mode turned on, this changes functions of "..commandPrefix.."fly and other commands to bypass most anti-exploits.", 7) | |
3360 | elseif string.lower(tostring(args[1])) == "off" then | |
3361 | bypassMODE = false | |
3362 | Notification("warning", "Bypass mode has been turned off.", 7) | |
3363 | end | |
3364 | end | |
3365 | end | |
3366 | ||
3367 | Commands.fixcam = function(args) | |
3368 | gsWorkspace.CurrentCamera:Destroy() | |
3369 | wait(0.1) | |
3370 | game:GetService("Workspace").CurrentCamera.CameraSubject = LP.Character.Humanoid | |
3371 | game:GetService("Workspace").CurrentCamera.CameraType = "Custom" | |
3372 | LP.CameraMinZoomDistance = 0.5 | |
3373 | LP.CameraMaxZoomDistance = 400 | |
3374 | LP.CameraMode = "Classic" | |
3375 | LP.DevCameraOcclusionMode = CurrentNormal | |
3376 | end | |
3377 | ||
3378 | Commands.gotoobj = function(args) | |
3379 | if args[1] then | |
3380 | for i,v in pairs(gsWorkspace:GetDescendants()) do | |
3381 | if string.lower(v.Name) == string.lower(tostring(args[1])) then | |
3382 | LP.Character.HumanoidRootPart.CFrame = v.CFrame + Vector3.new(0, 3, 0) | |
3383 | end | |
3384 | end | |
3385 | end | |
3386 | end | |
3387 | ||
3388 | Commands.breakcam = function(args) | |
3389 | gsWorkspace.CurrentCamera.CameraSubject = LP.Character.Head | |
3390 | end | |
3391 | ||
3392 | Commands.inviscam = function(args) | |
3393 | LP.DevCameraOcclusionMode = "Invisicam" | |
3394 | end | |
3395 | ||
3396 | printobjKEY = "" | |
3397 | printobjCLICKING = false | |
3398 | printobjACTIVE = false | |
3399 | ||
3400 | Commands.printobj = function(args) | |
3401 | if args[1] then | |
3402 | printobjKEY = string.sub(tostring(args[1]), 1, 1) | |
3403 | printobjACTIVE = true | |
3404 | printobjCLICKING = false | |
3405 | else | |
3406 | printobjKEY = "" | |
3407 | printobjACTIVE = true | |
3408 | printobjCLICKING = true | |
3409 | end | |
3410 | end | |
3411 | ||
3412 | Mouse.KeyDown:Connect(function(key) | |
3413 | if key == printobjKEY and printobjACTIVE == true then | |
3414 | if Mouse.Target then | |
3415 | local path = Mouse.Target:GetFullName() | |
3416 | local getPath = "game:GetService(\"Workspace\")" | |
3417 | local getSpaces = "" | |
3418 | local separate = {} | |
3419 | local a = nil | |
3420 | for v in string.gmatch(string.sub(path, 10), "[^.]+") do | |
3421 | if string.match(v, " ") then | |
3422 | a = "["..v.."]" | |
3423 | table.insert(separate, a) | |
3424 | else | |
3425 | a = "."..v | |
3426 | table.insert(separate, a) | |
3427 | end | |
3428 | getSpaces = table.concat(separate, "") | |
3429 | end | |
3430 | local fullPath = getPath..getSpaces | |
3431 | print(fullPath) | |
3432 | end | |
3433 | end | |
3434 | end) | |
3435 | Mouse.Button1Down:Connect(function() | |
3436 | if printobjCLICKING == true and printobjACTIVE == true then | |
3437 | if Mouse.Target then | |
3438 | local path = Mouse.Target:GetFullName() | |
3439 | local getPath = "game:GetService(\"Workspace\")" | |
3440 | local getSpaces = "" | |
3441 | local separate = {} | |
3442 | local a = nil | |
3443 | for v in string.gmatch(string.sub(path, 10), "[^.]+") do | |
3444 | if string.match(v, " ") then | |
3445 | a = "["..v.."]" | |
3446 | table.insert(separate, a) | |
3447 | else | |
3448 | a = "."..v | |
3449 | table.insert(separate, a) | |
3450 | end | |
3451 | getSpaces = table.concat(separate, "") | |
3452 | end | |
3453 | local fullPath = getPath..getSpaces | |
3454 | print(fullPath) | |
3455 | end | |
3456 | end | |
3457 | end) | |
3458 | ||
3459 | Commands.unprintobj = function(args) | |
3460 | printobjACTIVE = false | |
3461 | printobjCLICKING = false | |
3462 | end | |
3463 | ||
3464 | Commands.hotkeyfc = function(args) | |
3465 | if args[1] then | |
3466 | if string.lower(tostring(args[1])) == "goto" then | |
3467 | fchotkeymode = "goto" | |
3468 | elseif string.lower(tostring(args[1])) == "unfc" then | |
3469 | fchotkeymode = "unfc" | |
3470 | end | |
3471 | fullUpdate() | |
3472 | end | |
3473 | end | |
3474 | ||
3475 | Commands.carpet = function(args) | |
3476 | if args[1] then | |
3477 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3478 | if v ~= nil then | |
3479 | annoying = true | |
3480 | annplr = v | |
3481 | local carpetAnimation = Instance.new("Animation") | |
3482 | carpetAnimation.AnimationId = "rbxassetid://282574440" | |
3483 | carpetTrack = LP.Character.Humanoid:LoadAnimation(carpetAnimation) | |
3484 | carpetTrack:Play(.1, 1, 1) | |
3485 | end | |
3486 | end | |
3487 | end | |
3488 | end | |
3489 | ||
3490 | Commands.uncarpet = function(args) | |
3491 | annoying = false | |
3492 | carpetTrack:Stop() | |
3493 | end | |
3494 | ||
3495 | Commands.brickcreate = function(args) | |
3496 | if args[1] then | |
3497 | local createPosition = LP.Character.HumanoidRootPart.CFrame | |
3498 | if args[2] and args[3] and args[4] then | |
3499 | createPosition = CFrame.new(Vector3.new(args[2], args[3], args[4])) | |
3500 | else | |
3501 | createPosition = LP.Character.HumanoidRootPart.CFrame | |
3502 | end | |
3503 | for i = 1, args[1] do | |
3504 | LP.Character.HumanoidRootPart.CFrame = createPosition | |
3505 | run(commandPrefix.."blockhats") | |
3506 | wait(0.2) | |
3507 | run(commandPrefix.."drophats") | |
3508 | wait(0.2) | |
3509 | run(commandPrefix.."reset") | |
3510 | wait(6) | |
3511 | end | |
3512 | end | |
3513 | end | |
3514 | ||
3515 | Commands.forward = function(args) | |
3516 | if args[1] then | |
3517 | forwardSpeed = args[1] | |
3518 | else | |
3519 | forwardSpeed = 1 | |
3520 | end | |
3521 | cmdForward = true | |
3522 | end | |
3523 | ||
3524 | Commands.unforward = function(args) | |
3525 | cmdForward = false | |
3526 | end | |
3527 | ||
3528 | Commands.id = function(args) | |
3529 | if args[1] then | |
3530 | for i,v in pairs(findPlayer(args[1])) do | |
3531 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(v.Name.." Account ID: "..v.UserId.."!", "All") | |
3532 | end | |
3533 | end | |
3534 | end | |
3535 | ||
3536 | Commands.spinhats = function(args) -- Credit to xFunnieuss | |
3537 | for i,v in pairs(LP.Character:GetDescendants()) do | |
3538 | if v:IsA("Accessory") or v:IsA("Hat") then | |
3539 | local keep = Instance.new("BodyPosition") keep.Parent = v.Handle keep.Name = "no" | |
3540 | local spin = Instance.new("BodyAngularVelocity") spin.Parent = v.Handle spin.Name = "ha" | |
3541 | if v.Handle.AccessoryWeld then | |
3542 | v.Handle.AccessoryWeld:Destroy() | |
3543 | end | |
3544 | if args[1] then | |
3545 | spin.AngularVelocity = Vector3.new(0, args[1], 0) | |
3546 | spin.MaxTorque = Vector3.new(0, args[1] * 2, 0) | |
3547 | else | |
3548 | spin.AngularVelocity = Vector3.new(0, 100, 0) | |
3549 | spin.MaxTorque = Vector3.new(0, 200, 0) | |
3550 | end | |
3551 | keep.P = 30000 | |
3552 | keep.D = 50 | |
3553 | spinObj = keep | |
3554 | spinTOhead = true | |
3555 | end | |
3556 | end | |
3557 | end | |
3558 | ||
3559 | Commands.unspinhats = function(args) | |
3560 | for i,v in pairs(LP.Character:GetDescendants()) do | |
3561 | if v:IsA("Accessory") or v:IsA("Hat") then | |
3562 | pcall(function() | |
3563 | run(commandPrefix.."drophats") | |
3564 | wait(2) | |
3565 | v.Handle.spin:Destroy() | |
3566 | v.Handle.keep:Destroy() | |
3567 | end) | |
3568 | end | |
3569 | end | |
3570 | end | |
3571 | ||
3572 | savedmap = {} | |
3573 | Commands.savemap = function(args) | |
3574 | for i,v in pairs(gsWorkspace:GetChildren()) do | |
3575 | v.Archivable = true | |
3576 | if not v:IsA("Terrain") and not v:IsA("Camera") then | |
3577 | if not gsPlayers:FindFirstChild(v.Name) then | |
3578 | table.insert(savedmap, v:Clone()) | |
3579 | end | |
3580 | end | |
3581 | end | |
3582 | clientSided() | |
3583 | end | |
3584 | ||
3585 | Commands.loadmap = function(args) | |
3586 | for i,v in pairs(gsWorkspace:GetChildren()) do | |
3587 | if not v:IsA("Terrain") and not v:IsA("Camera") then | |
3588 | if not gsPlayers:FindFirstChild(v.Name) then | |
3589 | pcall(function() | |
3590 | v:Destroy() | |
3591 | end) | |
3592 | end | |
3593 | end | |
3594 | end | |
3595 | for i,a in ipairs(savedmap) do | |
3596 | a:Clone().Parent = gsWorkspace | |
3597 | end | |
3598 | clientSided() | |
3599 | end | |
3600 | ||
3601 | Commands.creatorid = function(args) | |
3602 | LP.UserId = game.CreatorId | |
3603 | end | |
3604 | ||
3605 | Commands.gameid = function(args) | |
3606 | Notification("info", "Current game's ID = "..game.GameId, 8) | |
3607 | end | |
3608 | ||
3609 | Commands.delobj = function(args) | |
3610 | if args[1] then | |
3611 | for i,v in pairs(gsWorkspace:GetDescendants()) do | |
3612 | if string.lower(v.Name) == string.lower(tostring(args[1])) then | |
3613 | v:Destroy() | |
3614 | clientSided() | |
3615 | end | |
3616 | end | |
3617 | end | |
3618 | end | |
3619 | ||
3620 | Commands.glide = function(args) | |
3621 | if args[1] then | |
3622 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3623 | local goal = {} | |
3624 | goal.CFrame = v.Character.HumanoidRootPart.CFrame | |
3625 | local defaultSpeed = 3 | |
3626 | if args[2] then | |
3627 | if tonumber(args[2]) < 10 then | |
3628 | defaultSpeed = tonumber(args[2]) | |
3629 | else | |
3630 | defaultSpeed = 5 | |
3631 | end | |
3632 | else | |
3633 | defaultSpeed = 3 | |
3634 | end | |
3635 | local goalFunction = gsTween:Create(LP.Character.HumanoidRootPart, TweenInfo.new(defaultSpeed, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), goal) | |
3636 | goalFunction:Play() | |
3637 | end | |
3638 | end | |
3639 | end | |
3640 | ||
3641 | stutterON = false | |
3642 | Commands.stutter = function(args) | |
3643 | if args[1] then | |
3644 | if string.lower(tostring(args[1])) == "on" then | |
3645 | stutterON = true | |
3646 | elseif string.lower(tostring(args[1])) == "off" then | |
3647 | stutterON = false | |
3648 | wait(0.4) | |
3649 | LP.Character.HumanoidRootPart.Anchored = false | |
3650 | end | |
3651 | end | |
3652 | end | |
3653 | ||
3654 | spawn(function() | |
3655 | while wait(0.1) do | |
3656 | if stutterON == true then | |
3657 | LP.Character.HumanoidRootPart.Anchored = false | |
3658 | wait(0.1) | |
3659 | LP.Character.HumanoidRootPart.Anchored = true | |
3660 | end | |
3661 | end | |
3662 | end) | |
3663 | ||
3664 | Commands.platform = function(args) | |
3665 | local a = Instance.new("Part") | |
3666 | a.Parent = gsWorkspace | |
3667 | a.Size = Vector3.new(10, 1, 10) | |
3668 | a.Anchored = true | |
3669 | a.CFrame = LP.Character.HumanoidRootPart.CFrame + Vector3.new(0, 5, 0) | |
3670 | LP.Character.HumanoidRootPart.CFrame = a.CFrame + Vector3.new(0, 2, 0) | |
3671 | clientSided() | |
3672 | wait(20) | |
3673 | a:Destroy() | |
3674 | end | |
3675 | ||
3676 | Commands.servertime = function(args) | |
3677 | Notification("info", "Server time is "..math.ceil(tonumber(gsWorkspace.DistributedGameTime)).." seconds.", 8) | |
3678 | end | |
3679 | ||
3680 | Commands.ride = function(args) | |
3681 | if args[1] then | |
3682 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3683 | local Anim = Instance.new("Animation") | |
3684 | Anim.AnimationId = "rbxassetid://179224234" | |
3685 | RIDEtrack = LP.Character.Humanoid:LoadAnimation(Anim) | |
3686 | rideACTIVE = true | |
3687 | ridePLAYER = v | |
3688 | RIDEtrack:Play() | |
3689 | end | |
3690 | end | |
3691 | end | |
3692 | ||
3693 | Commands.unride = function(args) | |
3694 | RIDEtrack:Stop() | |
3695 | rideACTIVE = false | |
3696 | end | |
3697 | ||
3698 | Commands.cmute = function(args) | |
3699 | if args[1] then | |
3700 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3701 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("/mute "..v.Name, "All") | |
3702 | clientSided() | |
3703 | end | |
3704 | end | |
3705 | end | |
3706 | ||
3707 | Commands.uncmute = function(args) | |
3708 | if args[1] then | |
3709 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3710 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer("/unmute "..v.Name, "All") | |
3711 | end | |
3712 | end | |
3713 | end | |
3714 | ||
3715 | Commands.hat = function(args) | |
3716 | if args[1] then | |
3717 | for i,v in pairs(findSinglePlayer(args[1])) do | |
3718 | local Anim = Instance.new("Animation") | |
3719 | Anim.AnimationId = "rbxassetid://282574440" | |
3720 | HATtrack = LP.Character.Humanoid:LoadAnimation(Anim) | |
3721 | rideACTIVE = true | |
3722 | ridePLAYER = v | |
3723 | HATtrack:Play() | |
3724 | view(v) | |
3725 | end | |
3726 | end | |
3727 | end | |
3728 | ||
3729 | Commands.unhat = function(args) | |
3730 | HATtrack:Stop() | |
3731 | rideACTIVE = false | |
3732 | view(LP) | |
3733 | end | |
3734 | ||
3735 | --[[Commands.spawnreset = function(args) | |
3736 | if args[1] then | |
3737 | if string.lower(tostring(args[1])) == "on" then | |
3738 | spawningatreset = true | |
3739 | elseif string.lower(tostring(args[1])) == "off" then | |
3740 | spawningatreset = false | |
3741 | end | |
3742 | end | |
3743 | end]] | |
3744 | ||
3745 | Commands.chat = function(args) | |
3746 | if args[1] then | |
3747 | local Chatmsg = table.concat(args, " ") | |
3748 | game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(Chatmsg, "All") | |
3749 | end | |
3750 | end | |
3751 | ||
3752 | -- findPlayer function (ALL, OTHERS, ME, NOOBS, VETERANS, OLDVETERANS, FRIENDS, NOFRIENDS, DEFAULT, RANDOM, SAMETEAM, NOTEAM, OTHERTEAM, TEAMname) | |
3753 | function findPlayer(plr) | |
3754 | local players = {} | |
3755 | local find = plr:lower() | |
3756 | local getAllNames = getmultipleplayers(find) | |
3757 | for i,mplr in pairs(getAllNames) do | |
3758 | if mplr == "all" then | |
3759 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3760 | table.insert(players,v) | |
3761 | end | |
3762 | elseif mplr == "others" then | |
3763 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3764 | if v.Name ~= LP.Name then | |
3765 | table.insert(players,v) | |
3766 | end | |
3767 | end | |
3768 | elseif mplr == "me" then | |
3769 | table.insert(players,LP) | |
3770 | elseif mplr == "noobs" then | |
3771 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3772 | if v.AccountAge <= 3 then | |
3773 | table.insert(players,v) | |
3774 | end | |
3775 | end | |
3776 | elseif mplr == "veterans" then | |
3777 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3778 | if v.AccountAge >= 365 then | |
3779 | table.insert(players,v) | |
3780 | end | |
3781 | end | |
3782 | elseif mplr == "oldveterans" then | |
3783 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3784 | if v.AccountAge >= 1500 then | |
3785 | table.insert(players,v) | |
3786 | end | |
3787 | end | |
3788 | elseif mplr == "friends" then | |
3789 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3790 | if v:IsFriendsWith(LP.UserId) and v.Name ~= LP.Name then | |
3791 | table.insert(players,v) | |
3792 | end | |
3793 | end | |
3794 | elseif mplr == "nofriends" then | |
3795 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3796 | if not v:IsFriendsWith(LP.UserId) and v.Name ~= LP.Name then | |
3797 | table.insert(players,v) | |
3798 | end | |
3799 | end | |
3800 | elseif mplr == "default" then | |
3801 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3802 | if v.Character:FindFirstChild("Pal Hair") or v.Character:FindFirstChild("Kate Hair") then | |
3803 | table.insert(players,v) | |
3804 | end | |
3805 | end | |
3806 | elseif mplr == "random" then | |
3807 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3808 | table.insert(players,v[math.random(1, #v)]) | |
3809 | end | |
3810 | elseif mplr == "sameteam" then | |
3811 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3812 | if v.Team == LP.Team then | |
3813 | table.insert(players,v) | |
3814 | end | |
3815 | end | |
3816 | elseif mplr == "noteam" then | |
3817 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3818 | if v.Team == nil then | |
3819 | table.insert(players,v) | |
3820 | end | |
3821 | end | |
3822 | elseif mplr == "otherteam" then | |
3823 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3824 | if v.Team ~= LP.Team then | |
3825 | table.insert(players,v) | |
3826 | end | |
3827 | end | |
3828 | elseif string.sub(mplr, 1, 4) == "team" then | |
3829 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3830 | local spaceTEAM = {} | |
3831 | for teamValues in (string.gmatch(string.sub(mplr, 5), "[^_]+")) do | |
3832 | spaceTEAM[#spaceTEAM + 1] = teamValues | |
3833 | end | |
3834 | local gottrueteam = table.concat(spaceTEAM, " ") | |
3835 | if string.lower(tostring(v.Team)) == string.lower(gottrueteam) then | |
3836 | table.insert(players,v) | |
3837 | end | |
3838 | end | |
3839 | else | |
3840 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3841 | if string.lower(v.Name):sub(1, #mplr) == string.lower(mplr) then | |
3842 | table.insert(players,v) | |
3843 | end | |
3844 | end | |
3845 | end | |
3846 | end | |
3847 | ||
3848 | return players | |
3849 | end | |
3850 | function getmultipleplayers(plr) | |
3851 | local plrsgotten = {} | |
3852 | for i in string.gmatch(plr,"[^,]+") do | |
3853 | table.insert(plrsgotten,i) | |
3854 | end | |
3855 | return plrsgotten | |
3856 | end | |
3857 | function findSinglePlayer(plr) | |
3858 | local players = {} | |
3859 | local find = plr:lower() | |
3860 | if find == "me" then | |
3861 | table.insert(players,LP) | |
3862 | else | |
3863 | for i,v in pairs(gsPlayers:GetPlayers()) do | |
3864 | if string.lower(v.Name):sub(1, #find) == string.lower(find) then | |
3865 | table.insert(players,v) | |
3866 | end | |
3867 | end | |
3868 | end | |
3869 | local oneplayer = {} | |
3870 | pcall(function() | |
3871 | table.insert(oneplayer, players[math.random(1, #players)]) | |
3872 | end) | |
3873 | return oneplayer | |
3874 | end | |
3875 | ||
3876 | -- Anti Kick | |
3877 | ||
3878 | if getrawmetatable then | |
3879 | function formatargs(getArgs,v) | |
3880 | if #getArgs == 0 then | |
3881 | return "" | |
3882 | end | |
3883 | ||
3884 | local collectArgs = {} | |
3885 | for k,v in next,getArgs do | |
3886 | local argument = "" | |
3887 | if type(v) == "string" then | |
3888 | argument = "\""..v.."\"" | |
3889 | elseif type(v) == "table" then | |
3890 | argument = "{" .. formatargs(v,true) .. "}" | |
3891 | else | |
3892 | argument = tostring(v) | |
3893 | end | |
3894 | if v and type(k) ~= "number" then | |
3895 | table.insert(collectArgs,k.."="..argument) | |
3896 | else | |
3897 | table.insert(collectArgs,argument) | |
3898 | end | |
3899 | end | |
3900 | return table.concat(collectArgs, ", ") | |
3901 | end | |
3902 | ||
3903 | kicknum = 0 | |
3904 | local game_meta = getrawmetatable(game) | |
3905 | local game_namecall = game_meta.__namecall | |
3906 | local game_index = game_meta.__index | |
3907 | local w = (setreadonly or fullaccess or make_writeable) | |
3908 | pcall(w, game_meta, false) | |
3909 | game_meta.__namecall = function(out, ...) | |
3910 | local args = {...} | |
3911 | local Method = args[#args] | |
3912 | args[#args] = nil | |
3913 | ||
3914 | if Method == "Kick" and out == LP then | |
3915 | kicknum = kicknum + 1 | |
3916 | warn("Blocked client-kick attempt "..kicknum) | |
3917 | return | |
3918 | end | |
3919 | ||
3920 | if antiremotes then | |
3921 | if Method == "FireServer" or Method == "InvokeServer" then | |
3922 | if out.Name ~= "CharacterSoundEvent" and out.Name ~= "SayMessageRequest" and out.Name ~= "AddCharacterLoadedEvent" and out.Name ~= "RemoveCharacterEvent" and out.Name ~= "DefaultServerSoundEvent" and out.Parent ~= "DefaultChatSystemChatEvents" then | |
3923 | warn("Blocked remote: "..out.Name.." // Method: "..Method) | |
3924 | return | |
3925 | end | |
3926 | end | |
3927 | else | |
3928 | if Method == "FireServer" or Method == "InvokeServer" then | |
3929 | for i,noremote in pairs(blockedremotes) do | |
3930 | if out.Name == noremote and out.Name ~= "SayMessageRequest" then | |
3931 | warn("Blocked remote: "..out.Name.." // Method: "..Method) | |
3932 | return | |
3933 | end | |
3934 | end | |
3935 | end | |
3936 | end | |
3937 | ||
3938 | if spyingremotes then | |
3939 | if Method == "FireServer" or Method == "InvokeServer" then | |
3940 | if out.Name ~= "CharacterSoundEvent" and out.Name ~= "AddCharacterLoadedEvent" and out.Name ~= "RemoveCharacterEvent" and out.Name ~= "DefaultServerSoundEvent" and out.Name ~= "SayMessageRequest" then | |
3941 | local arguments = {} | |
3942 | for i = 1,#args do | |
3943 | arguments[i] = args[i] | |
3944 | end | |
3945 | local getScript = getfenv(2).script | |
3946 | if getScript == nil then | |
3947 | getScript = "??? (Not Found) ???" | |
3948 | end | |
3949 | warn("<> <> <> A "..out.ClassName.." has been fired! How to fire:\ngame."..out:GetFullName()..":"..Method.."("..formatargs(arguments)..")\n\nFired from script: ".. tostring(getScript:GetFullName())) | |
3950 | end | |
3951 | end | |
3952 | end | |
3953 | ||
3954 | return game_namecall(out, ...) | |
3955 | end | |
3956 | end | |
3957 | ||
3958 | -- FE Check | |
3959 | function FEcheckDefault() | |
3960 | if gsWorkspace.FilteringEnabled == true then | |
3961 | createIntro("warning", "FE is enabled! Press "..commandPrefix.." to bring Command Bar.", 7) | |
3962 | else | |
3963 | createIntro("warning", "FE is disabled. Consider using a different script.", 7) | |
3964 | end | |
3965 | end | |
3966 | FEcheckDefault() |