View difference between Paste ID: GWVKeYmT and Y4P4913f
SHOW: | | - or go back to the newest paste.
1-
Congrats You Lucky Because You Can Use SA v.0.1
1+
--Vain By Vaeb (2014)
2-
Please dont share with others 
2+
local Plrs = game:GetService("Players")
3-
Have fun :)
3+
local Light = game:GetService("Lighting")
4
local DataStore = game:GetService("DataStoreService"):GetDataStore("VainsMem8421")
5-
Made By EpikHacker from v3rmillion
5+
local Http = game:GetService("HttpService")
6
local Content = game:GetService("ContentProvider")
7-
adrian123c is the default pass.
7+
local Sep = "/"
8
local OwnerName = "Vaeb"
9-
E = Can't Change Email
9+
10
local BanKey = "Bans8421"
11-
User : xXInfinityBatXx pass : adrian123c
11+
local isScripting = {}
12-
User : berbear123 : pass : adrian123c
12+
local CreatedScripts = {}
13-
User : flamingoku12 pass : adrian123c
13+
local ChangedChar = {}
14-
User : LiberationSoldier pass : adrian123c
14+
local SLogs = {}
15-
User : raphlu pass : adrian123c ( E )
15+
local CLogs = {}
16-
User : sean0903 Pass : adrian123c
16+
local Logs = {}
17-
User : facebookmod Pass : presario10 ( E )
17+
local Bans = DataStore:GetAsync(BanKey) or {}
18-
User : eduardofa45 Pass : adrian123c
18+
local LoopK = {}
19-
User : yellowchips05 Pass : yellow05 ( E )
19+
local StopCon
20-
User : thegamingpinkie Pass : adrian123c ( TBC ) ( E )
20+
21-
User : russmarrs3 Pass : adrian123c ( Haved OBC )
21+
local SafeParts = {
22-
User : Bugjoose Pass : joose04 ( E )
22+
	["Base"] = true;
23-
User : ace1ace1ace1 Pass : adrian123c
23+
	["HumanoidRootPart"] = true;
24-
User : chitaralion Pass : adrian123c ( E )
24+
	["Head"] = true;
25-
User : zariacutehunty Pass : adrian123c ( OBC )
25+
	["Torso"] = true;
26
	["Left Arm"] = true;
27
	["Right Arm"] = true;
28
	["Left Leg"] = true;
29
	["Right Leg"] = true;
30
}
31
32
local Images = {
33
	["Logo"] = "http://www.roblox.com/asset/?id=179762505";
34
	["LogoS"] = "http://www.roblox.com/asset/?id=179841017";
35
	["SmallLogo"] = "http://www.roblox.com/asset/?id=179799450";
36
	["Close1"] = "http://www.roblox.com/asset/?id=179828100";
37
	["Close2"] = "http://www.roblox.com/asset/?id=179828140";
38
	["Open"] = "http://www.roblox.com/asset/?id=179832161";
39
	["Commands"] = "http://www.roblox.com/asset/?id=179903438";
40
	["Output"] = "http://www.roblox.com/asset/?id=180169547";
41
	["Options"] = "http://www.roblox.com/asset/?id=179982684";
42
	["Up"] = "http://www.roblox.com/asset/?id=179982163";
43
	["Mid"] = "http://www.roblox.com/asset/?id=179982171";
44
	["Down"] = "http://www.roblox.com/asset/?id=179982178";
45
	["ExeRound"] = "http://www.roblox.com/asset/?id=180024448";
46
	["ExeSquare1"] = "http://www.roblox.com/asset/?id=180030137";
47
	["ExeSquare2"] = "http://www.roblox.com/asset/?id=180037395";
48
}
49
50
local GuiColors = {
51
	BrickColor.new("Bright violet").Color;
52
	BrickColor.new("Camo").Color;
53
	BrickColor.new("Deep blue").Color;
54
	BrickColor.new("Brown").Color;
55
}
56
57
for i,v in pairs(Images) do
58
	Content:Preload(v)
59
	wait(1/30)
60
end
61
62
function Cor(Func)
63
	local Ok, Err = coroutine.resume(coroutine.create(Func))
64
	if not Ok then
65
		print(Err)
66
	end
67
end
68
69
function getP()
70
	local AllPlayers = {}
71
	for _,v in pairs(Plrs:GetPlayers()) do
72
		table.insert(AllPlayers, v)
73
	end
74
	return AllPlayers
75
end
76
77
function getBanned()
78
	if Bans and #Bans > 0 then
79
		return Bans
80
	else
81
		return {}
82
	end
83
end
84
85
function GetTimeDist(OldTick, NewTick)
86
	local TimeType = nil
87
	local Symbol = ""
88
	local Seconds = tonumber(NewTick) - tonumber(OldTick)
89
	local Minutes = Seconds / 60
90
	local Hour = Minutes / 60
91
	local Day = Hour / 24
92
	local Year = Day / 365
93
94
	if Seconds < 60 then
95
		TimeType = math.ceil(Seconds)
96
		Symbol = "s"
97
	elseif Minutes < 60 then
98
		TimeType = math.floor(Minutes)
99
		Symbol = "m"
100
	elseif Hour < 24 then
101
		TimeType = math.floor(Hour)
102
		Symbol = "h"
103
	elseif Day < 365 then
104
		TimeType = math.floor(Day)
105
		Symbol = "d"
106
	else
107
		TimeType = math.floor(Year)
108
		Symbol = "y"
109
	end
110
	
111
	return tostring(TimeType) .. Symbol
112
end
113
114
function GetTime(Tick)
115
	Tick = tonumber(Tick)
116
	local TimeVal = ""
117
	local Hour = math.floor((Tick % 86400) / 60 / 60)
118
	local Minutes = math.floor((((Tick % 86400) / 60 / 60) - Hour) * 60)
119
	if Hour < 10 then
120
		Hour = "0" .. tostring(Hour)
121
	else
122
		Hour = tostring(Hour)
123
	end
124
	if Minutes < 10 then
125
		Minutes = "0" .. tostring(Minutes)
126
	else
127
		Minutes = tostring(Minutes)
128
	end
129
	return (Hour .. ":" .. Minutes)
130
end
131
132
function Main(LPName)
133
	Cor(function()
134
		local LP = Plrs[LPName]
135
		local Commands = {}
136
		local LastUpdate = 0
137
		local UpdateFrame
138
139
		local Connections = {
140
			["ChatCons"] = {};
141
			["AntiKillCons"] = {};
142
		}
143
144
		local function Error(ErrorMsg)
145
			coroutine.resume(coroutine.create(function()
146
				UpdateFrame({"ERROR: " .. ErrorMsg})
147
			end))
148
		end
149
		
150
		local function Cor(Func)
151
			local Ok, Err = coroutine.resume(coroutine.create(Func))
152
			if not Ok then
153
				Error(Err)
154
			end
155
		end
156
		
157
		local Start1
158
		
159
		local function Start2(Plr, PlrGui)
160
			Cor(function()
161
				for _,v in pairs(PlrGui:GetChildren()) do
162
					if v.Name == "Vain MainGUI" then
163
						v:Destroy()
164
					end
165
				end
166
				
167
				local SG = Instance.new("ScreenGui")
168
				SG.Name = "Vain MainGUI"
169
				SG.Parent = PlrGui
170
				
171
				local Bar1 = Instance.new("Frame")
172
				Bar1.Name = "Bar1"
173
				Bar1.Active = false
174
				Bar1.BackgroundColor3 = Color3.new((170/255), (85/255), (255/255))
175
				Bar1.BorderColor3 = Color3.new(0, 0, 0)
176
				Bar1.BorderSizePixel = 0
177
				Bar1.BackgroundTransparency = 1
178
				Bar1.Size = UDim2.new(0, 800, 0, 15)
179
				Bar1.Position = UDim2.new(0.5, -(Bar1.Size.X.Offset / 2), 0.03, 0)
180
				Bar1.Rotation = 0
181
				Bar1.Visible = true
182
				Bar1.Parent = SG
183
				
184
				local Frame1 = Instance.new("Frame")
185
				Frame1.Name = "Frame1"
186
				Frame1.Active = false
187
				Frame1.BackgroundColor3 = Color3.new(0, 0, 0)
188
				Frame1.BorderColor3 = Color3.new((170/255), (85/255), (255/255))
189
				Frame1.BorderSizePixel = 1
190
				Frame1.BackgroundTransparency = 0.5
191
				Frame1.Size = UDim2.new(0.9, 0, 0, 0)
192
				Frame1.Position = UDim2.new(0.05, 0, 1, 0)
193
				Frame1.Rotation = 0
194
				Frame1.Visible = false
195
				Frame1.Parent = Bar1
196
				
197
				for i = 1, 0, -0.05 do
198
					Bar1.BackgroundTransparency = i
199
					wait(1/30)
200
				end
201
				Bar1.BackgroundTransparency = 0
202
				
203
				Frame1.Visible = true
204
				repeat wait(1/30) until Frame1:IsDescendantOf(game)
205
				Frame1:TweenSize(UDim2.new(0.9, 0, 34, 0), "Out", "Quad", 0.4, true)
206
				wait(0.4)
207
				local Num1 = 45 / 34
208
				
209
				local Logo = Instance.new("ImageLabel")
210
				Logo.Name = "Logo"
211
				Logo.Active = false
212
				Logo.Image = Images["LogoS"]
213
				Logo.ImageTransparency = 1
214
				Logo.ImageColor3 = Color3.new(1, 1, 1)
215
				Logo.BorderColor3 = Color3.new(0, 0, 0)
216
				Logo.BorderSizePixel = 0
217
				Logo.BackgroundTransparency = 1
218
				Logo.Size = UDim2.new(0.75, 0, 0.175, 0)
219
				Logo.Position = UDim2.new(0.125, 0, 0.005, 0)
220
				Logo.Rotation = 0
221
				Logo.Visible = true
222
				Logo.Parent = Frame1
223
				
224
				local Close = Instance.new("ImageButton")
225
				Close.Name = "Close"
226
				Close.Active = true
227
				Close.AutoButtonColor = false
228
				Close.Modal = false
229
				Close.Image = Images["Close1"]
230
				Close.ImageTransparency = 1
231
				Close.ImageColor3 = Color3.new(1, 1, 1)
232
				Close.BorderColor3 = Color3.new(0, 0, 0)
233
				Close.BorderSizePixel = 0
234
				Close.BackgroundTransparency = 1
235
				Close.Size = UDim2.new(0, 65.625, 0, 37.5)
236
				Close.Position = UDim2.new(0.5, -32.8125, 1, -42)
237
				Close.Rotation = 0
238
				Close.Visible = true
239
				Close.Parent = Frame1
240
				
241
				local Closed = false
242
				
243
				Close.MouseEnter:connect(function()
244
					Close.Image = Images["Close2"]
245
					Close.MouseLeave:wait(1/30)
246
					if Closed == false then
247
						Close.Image = Images["Close1"]
248
					end
249
				end)
250
				
251
				local Bar2 = Instance.new("Frame")
252
				Bar2.Name = "Bar2"
253
				Bar2.Active = false
254
				Bar2.BackgroundColor3 = Color3.new(1, 1, 1)
255
				Bar2.BorderColor3 = Color3.new(0, 0, 0)
256
				Bar2.BorderSizePixel = 0
257
				Bar2.BackgroundTransparency = 1
258
				Bar2.Size = UDim2.new(1, 0, 0, 2)
259
				Bar2.Position = UDim2.new(0, 0, (Logo.Position.Y.Scale + Logo.Size.Y.Scale + 0.01), 0)
260
				Bar2.Rotation = 0
261
				Bar2.Visible = true
262
				Bar2.Parent = Frame1
263
				
264
				local Bar3 = Instance.new("Frame")
265
				Bar3.Name = "Bar3"
266
				Bar3.Active = false
267
				Bar3.BackgroundColor3 = Color3.new(1, 1, 1)
268
				Bar3.BorderColor3 = Color3.new(0, 0, 0)
269
				Bar3.BorderSizePixel = 0
270
				Bar3.BackgroundTransparency = 1
271
				Bar3.Size = UDim2.new(1, 0, 0, 2)
272
				Bar3.Position = UDim2.new(0, 0, 0.99, -44)
273
				Bar3.Rotation = 0
274
				Bar3.Visible = true
275
				Bar3.Parent = Frame1
276
				
277
				local ComImage1Frame = Instance.new("Frame")
278
				ComImage1Frame.Name = "ComImage1Frame"
279
				ComImage1Frame.Active = false
280
				ComImage1Frame.BackgroundColor3 = Color3.new(1, 1, 1)
281
				ComImage1Frame.BorderColor3 = Color3.new(0.5, 0.35, 0.275)
282
				ComImage1Frame.BorderSizePixel = 1
283
				ComImage1Frame.BackgroundTransparency = 1
284
				ComImage1Frame.Size = UDim2.new(0.31, 0, 0.05, 0)
285
				ComImage1Frame.Position = UDim2.new(0.02, 0, 0.21, 0)
286
				ComImage1Frame.Rotation = 0
287
				ComImage1Frame.Visible = true
288
				ComImage1Frame.Parent = Frame1
289
				
290
				local ComImage1 = Instance.new("ImageLabel")
291
				ComImage1.Name = "ComImage1"
292
				ComImage1.Active = false
293
				ComImage1.Image = Images["Commands"]
294
				ComImage1.ImageTransparency = 1
295
				ComImage1.ImageColor3 = Color3.new(1, 1, 1)
296
				ComImage1.BorderColor3 = Color3.new(0, 0, 0)
297
				ComImage1.BorderSizePixel = 0
298
				ComImage1.BackgroundTransparency = 1
299
				ComImage1.Size = UDim2.new(0.2142, 0, 0.05, 0)
300
				ComImage1.Position = UDim2.new(0.0679, 0, 0.21, 0)
301
				ComImage1.Rotation = 0
302
				ComImage1.Visible = true
303
				ComImage1.Parent = Frame1
304
				
305
				local Scroll1 = Instance.new("ScrollingFrame")
306
				Scroll1.Name = "Scroll1"
307
				Scroll1.Size = UDim2.new(0.31, 0, 0.71, -48)
308
				Scroll1.Position = UDim2.new(0.02, 0, ComImage1.Position.Y.Scale + ComImage1.Size.Y.Scale + 0.01, 0)
309
				Scroll1.CanvasSize = UDim2.new(Scroll1.Size.X.Scale - 0.01, Scroll1.Size.X.Offset, Scroll1.Size.Y.Scale - 0.01, Scroll1.Size.Y.Offset)
310
				Scroll1.BackgroundColor3 = Color3.new(0, 0, 0)
311
				Scroll1.BorderColor3 = Color3.new(1, 1, 1)
312
				Scroll1.BackgroundTransparency = 1
313
				Scroll1.BottomImage = Images["Down"]
314
				Scroll1.MidImage = Images["Mid"]
315
				Scroll1.TopImage = Images["Up"]
316
				Scroll1.BorderSizePixel = 1
317
				Scroll1.Rotation = 0
318
				Scroll1.Visible = true
319
				Scroll1.Parent = Frame1
320
				
321
				local ComImage2Frame = Instance.new("Frame")
322
				ComImage2Frame.Name = "ComImage2Frame"
323
				ComImage2Frame.Active = false
324
				ComImage2Frame.BackgroundColor3 = Color3.new(1, 1, 1)
325
				ComImage2Frame.BorderColor3 = Color3.new(0.5, 0.35, 0.275)
326
				ComImage2Frame.BorderSizePixel = 1
327
				ComImage2Frame.BackgroundTransparency = 1
328
				ComImage2Frame.Size = UDim2.new(0.31, 0, 0.05, 0)
329
				ComImage2Frame.Position = UDim2.new(0.34, 0, 0.21, 0)
330
				ComImage2Frame.Rotation = 0
331
				ComImage2Frame.Visible = true
332
				ComImage2Frame.Parent = Frame1
333
				
334
				local ComImage2 = Instance.new("ImageLabel")
335
				ComImage2.Name = "ComImage2"
336
				ComImage2.Active = false
337
				ComImage2.Image = Images["Options"]
338
				ComImage2.ImageTransparency = 1
339
				ComImage2.ImageColor3 = Color3.new(1, 1, 1)
340
				ComImage2.BorderColor3 = Color3.new(0, 0, 0)
341
				ComImage2.BorderSizePixel = 0
342
				ComImage2.BackgroundTransparency = 1
343
				ComImage2.Size = UDim2.new(0.2042, 0, 0.05, 0)
344
				ComImage2.Position = UDim2.new(0.3979, 0, 0.21, 0)
345
				ComImage2.Rotation = 0
346
				ComImage2.Visible = true
347
				ComImage2.Parent = Frame1
348
				
349
				local Scroll2 = Instance.new("ScrollingFrame")
350
				Scroll2.Name = "Scroll2"
351
				Scroll2.Size = UDim2.new(0.31, 0, 0.71, -48)
352
				Scroll2.Position = UDim2.new(0.34, 0, ComImage1.Position.Y.Scale + ComImage1.Size.Y.Scale + 0.01, 0) --Y = 0.27
353
				Scroll2.CanvasSize = UDim2.new(Scroll2.Size.X.Scale - 0.01, Scroll2.Size.X.Offset, Scroll2.Size.Y.Scale - 0.01, Scroll2.Size.Y.Offset)
354
				Scroll2.BackgroundColor3 = Color3.new(0, 0, 0)
355
				Scroll2.BorderColor3 = Color3.new(1, 1, 1)
356
				Scroll2.BackgroundTransparency = 1
357
				Scroll2.BottomImage = Images["Down"]
358
				Scroll2.MidImage = Images["Mid"]
359
				Scroll2.TopImage = Images["Up"]
360
				Scroll2.BorderSizePixel = 1
361
				Scroll2.Rotation = 0
362
				Scroll2.Visible = true
363
				Scroll2.Parent = Frame1
364
				
365
				local ComImage3Frame = Instance.new("Frame")
366
				ComImage3Frame.Name = "ComImage3Frame"
367
				ComImage3Frame.Active = false
368
				ComImage3Frame.BackgroundColor3 = Color3.new(1, 1, 1)
369
				ComImage3Frame.BorderColor3 = Color3.new(0.5, 0.35, 0.275)
370
				ComImage3Frame.BorderSizePixel = 1
371
				ComImage3Frame.BackgroundTransparency = 1
372
				ComImage3Frame.Size = UDim2.new(0.32, 0, 0.05, 0) --0.26 X Size
373
				ComImage3Frame.Position = UDim2.new(0.66, 0, 0.21, 0) --Start X 0.72 | End X 0.98
374
				ComImage3Frame.Rotation = 0
375
				ComImage3Frame.Visible = true
376
				ComImage3Frame.Parent = Frame1
377
				
378
				local ComImage3 = Instance.new("ImageLabel")
379
				ComImage3.Name = "ComImage3"
380
				ComImage3.Active = false
381
				ComImage3.Image = Images["Output"]
382
				ComImage3.ImageTransparency = 1
383
				ComImage3.ImageColor3 = Color3.new(1, 1, 1)
384
				ComImage3.BorderColor3 = Color3.new(0, 0, 0)
385
				ComImage3.BorderSizePixel = 0
386
				ComImage3.BackgroundTransparency = 1
387
				ComImage3.Size = UDim2.new(0.2642, 0, 0.05, 0)
388
				ComImage3.Position = UDim2.new(0.6879, 0, 0.21, 0)
389
				ComImage3.Rotation = 0
390
				ComImage3.Visible = true
391
				ComImage3.Parent = Frame1
392
				
393
				local Scroll3 = Instance.new("ScrollingFrame")
394
				Scroll3.Name = "Scroll3"
395
				Scroll3.Size = UDim2.new(0.32, 0, 0.561, -48)
396
				Scroll3.Position = UDim2.new(0.66, 0, ComImage3.Position.Y.Scale + ComImage3.Size.Y.Scale + 0.01, 0) --X Starts 0.66 | X Ends 0.98
397
				Scroll3.CanvasSize = UDim2.new(Scroll3.Size.X.Scale - 0.01, Scroll3.Size.X.Offset, Scroll3.Size.Y.Scale - 0.01, Scroll3.Size.Y.Offset)
398
				Scroll3.BackgroundColor3 = Color3.new(0, 0, 0)
399
				Scroll3.BorderColor3 = Color3.new(1, 1, 1)
400
				Scroll3.BackgroundTransparency = 1
401
				Scroll3.BottomImage = Images["Down"]
402
				Scroll3.MidImage = Images["Mid"]
403
				Scroll3.TopImage = Images["Up"]
404
				Scroll3.BorderSizePixel = 1
405
				Scroll3.Rotation = 0
406
				Scroll3.Visible = true
407
				Scroll3.Parent = Frame1
408
				
409
				local ExeButton = Instance.new("ImageButton")
410
				ExeButton.Name = "ExeButton"
411
				ExeButton.AutoButtonColor = true
412
				ExeButton.Image = Images["ExeSquare1"]
413
				ExeButton.ImageTransparency = 1
414
				ExeButton.ImageColor3 = Color3.new(1, 1, 1)
415
				ExeButton.BorderColor3 = Color3.new(0, 0, 0)
416
				ExeButton.BorderSizePixel = 0
417
				ExeButton.BackgroundTransparency = 1
418
				ExeButton.Size = UDim2.new(0.208, 0, 0.224, -48)
419
				ExeButton.Position = UDim2.new(0.716, 0, 0.756, 0)
420
				ExeButton.Rotation = 0
421
				ExeButton.Visible = true
422
				ExeButton.Parent = Frame1
423
				
424
				UpdateFrame = function(Tab, isScriptName, Wrapped, Size, Start, End, Iter, Color, InstanceType, SizeDif, FontSize)
425
					LastUpdate = LastUpdate + 1
426
					local CurrentUpdate = LastUpdate
427
					Cor(function()
428
						for _,v in pairs(Scroll3:GetChildren()) do
429
							v:Destroy()
430
						end
431
						if isScriptName == nil then
432
							isScriptName = false
433
						end
434
						if InstanceType == nil then
435
							InstanceType = "TextButton"
436
						end
437
						if FontSize == nil then
438
							FontSize = "Size14"
439
						end
440
						if Wrapped == nil then
441
							Wrapped = false
442
						end
443
						if SizeDif == nil then
444
							SizeDif = 3
445
						end
446
						if Color == nil then
447
							Color = false
448
						end
449
						if Size == nil then
450
							Size = UDim2.new(0.99, 0, 0, 20)
451
						end
452
						if Start == nil then
453
							Start = #Tab
454
						end
455
						if End == nil then
456
							End = 1
457
						end
458
						if Iter == nil then
459
							Iter = -1
460
						end
461
						local DownNum = 0
462
						local IterNum = 1
463
						local LastHit = 1
464
						local DownNum = 3
465
						
466
						for i = Start, End, Iter do
467
							if CurrentUpdate ~= LastUpdate then
468
								break
469
							end
470
							local NumLines = 1
471
							
472
							local CText
473
							if type(Tab[i]) == "table" then
474
								CText = Tab[i].Message
475
							else
476
								CText = Tab[i]
477
							end
478
							
479
							for i2 = 1, #CText - 1 do
480
								if CText:sub(i2, i2) == [[\]] and CText:sub(i2 + 1, i2 + 1) ==[[n]] then
481
									CText = CText:sub(1, i2 - 1) .. "\n" ..  CText:sub(i2 + 2)
482
								end
483
							end
484
							
485
							for i2 = 1, #CText do
486
								if CText:sub(i2, i2) == "\n" then
487
									NumLines = NumLines + 1
488
								end
489
							end
490
							local NewSize = UDim2.new(Size.X.Scale, Size.X.Offset, Size.Y.Scale, Size.Y.Offset * NumLines)
491
							
492
							CText = CText:gsub([[/e,"]], "/e ")
493
							local CText2 = CText
494
							local isSilent = false
495
							
496
							if CText:sub(1, 3) == "/e " then
497
								CText2 = CText:sub(4)
498
								isSilent = true
499
							end
500
							
501
							if CText2:sub(1, 40) == "setfenv(assert(loadstring(table.concat({" then
502
								if isSilent then
503
									CText = "[ SILENT ]\n" .. CText2:sub(44)
504
								else
505
									CText = CText:sub(44)
506
								end
507
							end
508
							
509
							if CText:sub(#CText - 16, #CText) == "}))),getfenv())()" then
510
								CText = CText:sub(1, #CText - 20)
511
							end
512
							
513
							local ChatButton = Instance.new(InstanceType)
514
							ChatButton.Name = "ChatButton"
515
							ChatButton.Text = " " .. CText
516
							ChatButton.TextColor3 = Color3.new(1, 1, 1)
517
							ChatButton.TextStrokeColor3 = Color3.new(0, 0, 0)
518
							ChatButton.TextTransparency = 0
519
							ChatButton.TextStrokeTransparency = 1
520
							ChatButton.TextWrapped = Wrapped
521
							ChatButton.TextXAlignment = "Left"
522
							ChatButton.TextYAlignment = "Top"
523
							ChatButton.Font = "ArialBold"
524
							ChatButton.FontSize = FontSize
525
							ChatButton.BorderColor3 = Color3.new(1, 1, 1)
526
							ChatButton.BorderSizePixel = 0
527
							ChatButton.BackgroundColor3 = Color and BrickColor.new("Deep blue").Color or GuiColors[IterNum]
528
							ChatButton.BackgroundTransparency = 1
529
							ChatButton.Size = NewSize
530
							ChatButton.Position = UDim2.new(0, 3, 0, DownNum)
531
							ChatButton.Rotation = 0
532
							ChatButton.Visible = true
533
							ChatButton.Parent = Scroll3
534
							DownNum = DownNum + NewSize.Y.Offset + SizeDif
535
							if IterNum == #GuiColors then
536
								IterNum = 1
537
							else
538
								IterNum = IterNum + 1
539
							end
540
							local LowestGUIXSize = 0
541
							local LowestGUIXNum = 0
542
							local LowestGUIYSize = 0
543
							local LowestGUIYNum = 0
544
							local XOffsetNum
545
							local YOffsetNum
546
							for _,v in pairs(Scroll3:GetChildren()) do
547
								if (v:IsA("TextButton") or v:IsA("TextLabel") or v:IsA("TextBox")) and v.Visible == true then
548
									if v.AbsolutePosition.X > LowestGUIXNum then
549
										LowestGUIXNum = v.AbsolutePosition.X
550
										LowestGUIXSize = v.AbsoluteSize.X
551
									end
552
									if v.AbsolutePosition.Y > LowestGUIYNum then
553
										LowestGUIYNum = v.AbsolutePosition.Y
554
										LowestGUIYSize = v.AbsoluteSize.Y
555
									end
556
								end
557
							end
558
							XOffsetNum = LowestGUIXNum + LowestGUIXSize
559
							YOffsetNum = LowestGUIYNum + LowestGUIYSize
560
							Scroll3.CanvasSize = UDim2.new(0, XOffsetNum - 1, 0, YOffsetNum - 1)
561
							if ChatButton:IsA("TextButton") then
562
								ChatButton.MouseButton1Click:connect(function()
563
									if isScriptName == true then
564
										local Pattern = "] %w[%a%d%p]+$"
565
										local newText = CText:match(Pattern):sub(3)
566
										if SLogs[newText] then
567
											UpdateFrame(SLogs[newText], false, true, UDim2.new(0.99, 0, 0, 14), 1, #SLogs[newText], 1, true, "TextLabel", 0, "Size12")
568
										end
569
									end
570
								end)
571
							end
572
						end
573
					end)
574
				end
575
				
576
				wait(1/30)
577
				
578
				for i = 1, 0, -0.1 do
579
					Logo.ImageTransparency = i
580
					ExeButton.ImageTransparency = i
581
					ComImage1.ImageTransparency = i
582
					ComImage2.ImageTransparency = i
583
					ComImage3.ImageTransparency = i
584
					Close.ImageTransparency = i
585
					Scroll1.BackgroundTransparency = math.max(i, 0.25)
586
					Scroll2.BackgroundTransparency = math.max(i, 0.25)
587
					Scroll3.BackgroundTransparency = math.max(i, 0.25)
588
					ComImage1Frame.BackgroundTransparency = math.max(i, 0)
589
					ComImage2Frame.BackgroundTransparency = math.max(i, 0)
590
					ComImage3Frame.BackgroundTransparency = math.max(i, 0)
591
					Bar2.BackgroundTransparency = i
592
					Bar3.BackgroundTransparency = i
593
					wait(.05)
594
				end
595
				Logo.ImageTransparency = 0
596
				ExeButton.ImageTransparency = 0
597
				ComImage1.ImageTransparency = 0
598
				ComImage2.ImageTransparency = 0
599
				ComImage3.ImageTransparency = 0
600
				Close.ImageTransparency = 0
601
				Scroll1.BackgroundTransparency = 0.25
602
				Scroll2.BackgroundTransparency = 0.25
603
				Scroll3.BackgroundTransparency = 0.25
604
				ComImage1Frame.BackgroundTransparency = 0
605
				ComImage2Frame.BackgroundTransparency = 0
606
				ComImage3Frame.BackgroundTransparency = 0
607
				Bar2.BackgroundTransparency = 0
608
				Bar3.BackgroundTransparency = 0
609
				
610
				Cor(function()
611
					local LastNum = 0
612
					local IterNum = 1
613
					local CurrentCom = nil
614
					local CurrentOptTab = {}
615
					local CurrentTextBox = nil
616
					local LastHit = 1
617
					
618
					ExeButton.MouseButton1Click:connect(function()
619
						Cor(function()
620
							LastHit = LastHit + 1
621
							local CurrentHit = LastHit
622
							ExeButton.Image = Images["ExeSquare2"]
623
							wait(0.5)
624
							if CurrentHit == LastHit then
625
								ExeButton.Image = Images["ExeSquare1"]
626
							end
627
						end)
628
						if CurrentCom and CurrentCom.Text:sub(2) == "Exe" or CurrentCom.Text:sub(2) == "Run Script" or CurrentCom.Text:sub(2) == "Run Local" then
629
							for i,v in pairs(Commands) do
630
								if CurrentCom.Text:sub(2) == v["NameTab"][1] then
631
									if CurrentTextBox ~= nil then
632
										Cor(function()
633
											local MType = "Cmd"
634
											local ComName = "[" .. v["NameTab"][1] .. "] " .. CurrentTextBox.Text
635
											table.insert(CLogs, {Type = MType, Message = ComName, Plr = Plr.Name, Time = tostring(tick())})
636
										end)
637
										local Ok, Err = coroutine.resume(coroutine.create(function()
638
											v.Func(Plr, {CurrentTextBox.Text}, v["NameTab"][1])
639
										end))
640
										if not Ok then
641
											Error("[" .. v["NameTab"][1] .. "] " .. Err)
642
										end
643
									else
644
										Cor(function()
645
											local MType = "Cmd"
646
											local ComName = "[" .. v["NameTab"][1] .. "]"
647
											table.insert(CLogs, {Type = MType, Message = ComName, Plr = Plr.Name, Time = tostring(tick())})
648
										end)
649
										v.Func(Plr, {}, v["NameTab"][1])
650
									end
651
									break
652
								end
653
							end
654
						else
655
							if CurrentCom ~= nil then
656
								for i,v in pairs(Commands) do
657
									if CurrentCom.Text:sub(2) == v["NameTab"][1] then
658
										local Params = {}
659
										for v2,_ in pairs(CurrentOptTab) do
660
											table.insert(Params, v2.Text:sub(2))
661
										end
662
										Cor(function()
663
											local MType = "Cmd"
664
											local ComName = "[" .. v["NameTab"][1] .. "] " .. table.concat(Params, ", ")
665
											table.insert(CLogs, {Type = MType, Message = ComName, Plr = Plr.Name, Time = tostring(tick())})
666
										end)
667
										local Ok, Err = coroutine.resume(coroutine.create(function()
668
											v.Func(Plr, Params, v["NameTab"][1])
669
										end))
670
										if not Ok then
671
											Error("[" .. v["NameTab"][1] .. "] " .. Err)
672
										end
673
										break
674
									end
675
								end
676
							end
677
						end
678
					end)
679
					
680
					for i,v in pairs(Commands) do
681
						local DownNum
682
						if LastNum == 0 then
683
							DownNum = 3
684
						else
685
							DownNum = LastNum + 23
686
						end
687
						local Command = v
688
						LastNum = DownNum
689
						local ComButton = Instance.new("TextButton")
690
						ComButton.Name = "ComButton"
691
						ComButton.Text = " " .. v["NameTab"][1]
692
						ComButton.TextColor3 = Color3.new(1, 1, 1)
693
						ComButton.TextStrokeColor3 = Color3.new(0, 0, 0)
694
						ComButton.TextTransparency = 1
695
						ComButton.TextStrokeTransparency = 1
696
						ComButton.TextWrapped = false
697
						ComButton.TextXAlignment = "Left"
698
						ComButton.TextYAlignment = "Center"
699
						ComButton.Font = "SourceSans"
700
						ComButton.FontSize = "Size24"
701
						ComButton.BorderColor3 = Color3.new(1, 1, 1)
702
						ComButton.BorderSizePixel = 0
703
						ComButton.BackgroundColor3 = GuiColors[IterNum]
704
						ComButton.BackgroundTransparency = 1
705
						ComButton.Size = UDim2.new(0.99, 0, 0, 20)
706
						ComButton.Position = UDim2.new(0, 3, 0, DownNum)
707
						ComButton.Rotation = 0
708
						ComButton.Visible = true
709
						ComButton.Parent = Scroll1
710
						for i = 1, 0, -0.25 do
711
							ComButton.TextTransparency = i
712
							ComButton.BackgroundTransparency = i
713
							wait(1/30)
714
						end
715
						ComButton.TextTransparency = 0
716
						ComButton.BackgroundTransparency = 0
717
						if IterNum == #GuiColors then
718
							IterNum = 1
719
						else
720
							IterNum = IterNum + 1
721
						end
722
						local EndGUIXSize = 0
723
						local EndGUIXNum = 0
724
						local EndGUIYSize = 0
725
						local EndGUIYNum = 0
726
						local StartGUIXNum = Scroll1.AbsolutePosition.X
727
						local StartGUIYNum = Scroll1.AbsolutePosition.Y
728
						local XOffsetNum
729
						local YOffsetNum
730
						for _,v in pairs(Scroll1:GetChildren()) do
731
							if (v:IsA("TextButton") or v:IsA("TextLabel") or v:IsA("TextBox")) and v.Visible == true then
732
								if v.AbsolutePosition.X > EndGUIXNum then
733
									EndGUIXNum = v.AbsolutePosition.X
734
									EndGUIXSize = v.AbsoluteSize.X
735
								end
736
								if v.AbsolutePosition.Y > EndGUIYNum then
737
									EndGUIYNum = v.AbsolutePosition.Y
738
									EndGUIYSize = v.AbsoluteSize.Y
739
								end
740
							end
741
						end
742
						XOffsetNum = (EndGUIXNum - StartGUIXNum) + EndGUIXSize
743
						YOffsetNum = (EndGUIYNum - StartGUIYNum) + EndGUIYSize
744
						Scroll1.CanvasSize = UDim2.new(0, XOffsetNum, 0, YOffsetNum)
745
						ComButton.MouseButton1Click:connect(function()
746
							if CurrentCom ~= nil and CurrentCom:IsA("TextButton") then
747
								CurrentCom.TextStrokeTransparency = 1
748
							end
749
							ComButton.TextStrokeTransparency = 0
750
							CurrentCom = ComButton
751
							for i = #Scroll2:GetChildren(), 1, -1 do
752
								local OldButton = Scroll2:GetChildren()[i]
753
								if OldButton and OldButton:IsA("TextButton") then
754
									for i = 0, 1, 0.2 do
755
										OldButton.TextStrokeTransparency = math.max(OldButton.TextStrokeTransparency, i)
756
										OldButton.TextTransparency = i
757
										OldButton.BackgroundTransparency = i
758
										wait(1/30)
759
									end
760
									OldButton.TextStrokeTransparency = 1
761
									OldButton.TextTransparency = 1
762
									OldButton.BackgroundTransparency = 1
763
								end
764
								OldButton:Destroy()
765
							end
766
							if v["NameTab"][1] == "Exe" or v["NameTab"][1] == "Run Script" or v["NameTab"][1] == "Run Local" then
767
								local OptButton = Instance.new("TextBox")
768
								OptButton.Name = "OptButton"
769
								OptButton.Text = "Script Here"
770
								OptButton.ClearTextOnFocus = false
771
								OptButton.MultiLine = false
772
								OptButton.TextColor3 = Color3.new(1, 1, 1)
773
								OptButton.TextStrokeColor3 = Color3.new(0, 0, 0)
774
								OptButton.TextTransparency = 1
775
								OptButton.TextStrokeTransparency = 1
776
								OptButton.TextWrapped = false
777
								OptButton.TextXAlignment = "Left"
778
								OptButton.TextYAlignment = "Center"
779
								OptButton.Font = "SourceSans"
780
								OptButton.FontSize = "Size14"
781
								OptButton.BorderColor3 = Color3.new(1, 1, 1)
782
								OptButton.BorderSizePixel = 0
783
								OptButton.BackgroundColor3 = GuiColors[1]
784
								OptButton.BackgroundTransparency = 1
785
								OptButton.Size = UDim2.new(0.99, 0, 0, 20)
786
								OptButton.Position = UDim2.new(0, 3, 0, 3)
787
								OptButton.Rotation = 0
788
								OptButton.Visible = true
789
								OptButton.Parent = Scroll2
790
								CurrentTextBox = OptButton
791
								for i = 1, 0, -(1/3) do
792
									OptButton.TextTransparency = i
793
									OptButton.BackgroundTransparency = i
794
									wait(1/30)
795
								end
796
								OptButton.TextTransparency = 0
797
								OptButton.BackgroundTransparency = 0
798
								local LowestGUIXSize = 0
799
								local LowestGUIXNum = 0
800
								local LowestGUIYSize = 0
801
								local LowestGUIYNum = 0
802
								local XOffsetNum
803
								local YOffsetNum
804
								for _,v in pairs(Scroll2:GetChildren()) do
805
									if (v:IsA("TextButton") or v:IsA("TextLabel") or v:IsA("TextBox")) and v.Visible == true then
806
										if v.AbsolutePosition.X > LowestGUIXNum then
807
											LowestGUIXNum = v.AbsolutePosition.X
808
											LowestGUIXSize = v.AbsoluteSize.X
809
										end
810
										if v.AbsolutePosition.Y > LowestGUIYNum then
811
											LowestGUIYNum = v.AbsolutePosition.Y
812
											LowestGUIYSize = v.AbsoluteSize.Y
813
										end
814
									end
815
								end
816
								XOffsetNum = LowestGUIXNum + LowestGUIXSize
817
								YOffsetNum = LowestGUIYNum + LowestGUIYSize
818
								Scroll2.CanvasSize = UDim2.new(0, XOffsetNum - 1, 0, YOffsetNum - 1)
819
							else
820
								CurrentOptTab = {}
821
								local ParamTab = Command.GetParams()
822
								if #ParamTab > 0 then
823
									local LastNum2 = 0
824
									local IterNum2 = 1
825
									for _,v in pairs(ParamTab) do
826
										local DownNum2
827
										if LastNum2 == 0 then
828
											DownNum = 3
829
										else
830
											DownNum = LastNum2 + 23
831
										end
832
										LastNum2 = DownNum
833
										local OptButton = Instance.new("TextButton")
834
										OptButton.Name = "OptButton"
835
										if type(v) == "userdata" then
836
											OptButton.Text = " " .. v.Name
837
										else
838
											OptButton.Text = " " .. tostring(v)
839
										end
840
										OptButton.TextColor3 = Color3.new(1, 1, 1)
841
										OptButton.TextStrokeColor3 = Color3.new(0, 0, 0)
842
										OptButton.TextTransparency = 1
843
										OptButton.TextStrokeTransparency = 1
844
										OptButton.TextWrapped = false
845
										OptButton.TextXAlignment = "Left"
846
										OptButton.TextYAlignment = "Center"
847
										OptButton.Font = "SourceSans"
848
										OptButton.FontSize = "Size24"
849
										OptButton.BorderColor3 = Color3.new(1, 1, 1)
850
										OptButton.BorderSizePixel = 0
851
										OptButton.BackgroundColor3 = GuiColors[IterNum2]
852
										OptButton.BackgroundTransparency = 1
853
										OptButton.Size = UDim2.new(0.99, 0, 0, 20)
854
										OptButton.Position = UDim2.new(0, 3, 0, DownNum)
855
										OptButton.Rotation = 0
856
										OptButton.Visible = true
857
										OptButton.Parent = Scroll2
858
										for i = 1, 0, -(1/3) do
859
											OptButton.TextTransparency = i
860
											OptButton.BackgroundTransparency = i
861
											wait(1/30)
862
										end
863
										OptButton.TextTransparency = 0
864
										OptButton.BackgroundTransparency = 0
865
										if IterNum2 == #GuiColors then
866
											IterNum2 = 1
867
										else
868
											IterNum2 = IterNum2 + 1
869
										end
870
										local EndGUIXSize = 0
871
										local EndGUIXNum = 0
872
										local EndGUIYSize = 0
873
										local EndGUIYNum = 0
874
										local StartGUIXNum = Scroll2.AbsolutePosition.X
875
										local StartGUIYNum = Scroll2.AbsolutePosition.Y
876
										local XOffsetNum
877
										local YOffsetNum
878
										for _,v in pairs(Scroll2:GetChildren()) do
879
											if (v:IsA("TextButton") or v:IsA("TextLabel") or v:IsA("TextBox")) and v.Visible == true then
880
												if v.AbsolutePosition.X > EndGUIXNum then
881
													EndGUIXNum = v.AbsolutePosition.X
882
													EndGUIXSize = v.AbsoluteSize.X
883
												end
884
												if v.AbsolutePosition.Y > EndGUIYNum then
885
													EndGUIYNum = v.AbsolutePosition.Y
886
													EndGUIYSize = v.AbsoluteSize.Y
887
												end
888
											end
889
										end
890
										XOffsetNum = (EndGUIXNum - StartGUIXNum) + EndGUIXSize
891
										YOffsetNum = (EndGUIYNum - StartGUIYNum) + EndGUIYSize
892
										Scroll2.CanvasSize = UDim2.new(0, XOffsetNum + 5, 0, YOffsetNum + 5)
893
										OptButton.MouseButton1Click:connect(function()
894
											local Adding = true
895
											if CurrentOptTab[OptButton] ~= nil then
896
												CurrentOptTab[OptButton] = nil
897
												OptButton.TextStrokeTransparency = 1
898
											else
899
												CurrentOptTab[OptButton] = true
900
												OptButton.TextStrokeTransparency = 0
901
											end
902
										end)
903
									end
904
								end
905
							end
906
						end)
907
					end
908
				end)
909
				
910
				Close.MouseButton1Click:wait(1/30)
911
				
912
				Closed = true
913
				
914
				for i = 0, 1, 0.1 do
915
					Bar1.BackgroundTransparency = math.min(1, Bar1.BackgroundTransparency + 0.05)
916
					Frame1.BackgroundTransparency = math.min(1, Frame1.BackgroundTransparency + 0.05)
917
					for _,v in pairs(Scroll1:GetChildren()) do
918
						if v:IsA("Frame") then
919
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
920
						elseif v:IsA("ImageLabel") or v:IsA("ImageButton") then
921
							v.ImageTransparency = math.min(1, v.ImageTransparency + 0.05)
922
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
923
						elseif v:IsA("TextLabel") or v:IsA("TextButton") then
924
							v.TextTransparency = math.min(1, v.TextTransparency + 0.05)
925
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
926
						end
927
					end
928
					for _,v in pairs(Scroll2:GetChildren()) do
929
						if v:IsA("Frame") then
930
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
931
						elseif v:IsA("ImageLabel") or v:IsA("ImageButton") then
932
							v.ImageTransparency = math.min(1, v.ImageTransparency + 0.05)
933
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
934
						elseif v:IsA("TextLabel") or v:IsA("TextButton") then
935
							v.TextTransparency = math.min(1, v.TextTransparency + 0.05)
936
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
937
						end
938
					end
939
					for _,v in pairs(Frame1:GetChildren()) do
940
						if v:IsA("Frame") then
941
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
942
						elseif v:IsA("ImageLabel") or v:IsA("ImageButton") then
943
							v.ImageTransparency = math.min(1, v.ImageTransparency + 0.05)
944
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
945
						elseif v:IsA("TextLabel") or v:IsA("TextButton") then
946
							v.TextTransparency = math.min(1, v.TextTransparency + 0.05)
947
							v.BackgroundTransparency = math.min(1, v.BackgroundTransparency + 0.05)
948
						end
949
					end
950
					wait(1/30)
951
				end
952
				Bar1:Destroy()
953
				Start1(Plr, PlrGui)
954
			end)
955
		end
956
		
957
		Start1 = function(Plr, PlrGui)
958
			Cor(function()
959
				for _,v in pairs(PlrGui:GetChildren()) do
960
					if v.Name == "Vain MainGUI" then
961
						v:Destroy()
962
					end
963
				end
964
				
965
				local SG = Instance.new("ScreenGui")
966
				SG.Name = "Vain MainGUI"
967
				SG.Parent = PlrGui
968
				
969
				local Num2 = 200 / 75
970
				
971
				local ImageOpen = Instance.new("ImageButton")
972
				ImageOpen.Name = "ImageOpen"
973
				ImageOpen.Active = true
974
				ImageOpen.Image = Images["Open"]
975
				ImageOpen.ImageTransparency = 1
976
				ImageOpen.BorderColor3 = Color3.new(0, 0, 0)
977
				ImageOpen.BorderSizePixel = 0
978
				ImageOpen.BackgroundTransparency = 1
979
				ImageOpen.Size = UDim2.new(0, 50 * Num2, 0, 50)
980
				ImageOpen.Position = UDim2.new(0.5, -(ImageOpen.Size.X.Offset / 2), 0.001, 0)
981
				ImageOpen.Rotation = 0
982
				ImageOpen.Visible = true
983
				ImageOpen.Parent = SG
984
				
985
				for i = 1, 0, -0.05 do
986
					ImageOpen.ImageTransparency = i
987
					wait(1/30)
988
				end
989
				ImageOpen.ImageTransparency = 0
990
				
991
				local HasClicked2 = false
992
				
993
				ImageOpen.MouseButton1Click:connect(function()
994
					if HasClicked2 == false then
995
						HasClicked2 = true
996
						for i = 0, 1, 0.05 do
997
							ImageOpen.ImageTransparency = i
998
							wait(1/30)
999
						end
1000
						ImageOpen.ImageTransparency = 1
1001
						Start2(Plr, PlrGui)
1002
					end
1003
				end)
1004
			end)
1005
		end
1006
		
1007
		local function FilterMessage(Sender, Msg)
1008
			if LP.Name == OwnerName then
1009
				local CurrentTime = tostring(tick())
1010
				local isQuickScript = false
1011
				local FMsg = string.lower(Msg)
1012
				local FMsg2 = Msg
1013
				if Msg:sub(1, 3) == "/e " then
1014
					FMsg = string.lower(Msg:sub(4))
1015
					FMsg2 = Msg:sub(4)
1016
				end
1017
				if FMsg:sub(1, 5) == "exit/" then
1018
					isScripting[Sender] = nil
1019
				elseif FMsg:sub(1, 5) == "edit/" then
1020
					isScripting[Sender] = FMsg2:sub(6)
1021
				elseif FMsg:sub(1, 7) == "create/" then
1022
					if isScripting[Sender] == nil then
1023
						if CreatedScripts[Sender.Name] == nil then
1024
							CreatedScripts[Sender.Name] = {}
1025
						end
1026
						CreatedScripts[Sender.Name][FMsg2:sub(8)] = true
1027
					end
1028
				elseif FMsg:sub(1, 7) == "remove/" then
1029
					if CreatedScripts[Sender.Name] == nil then
1030
						CreatedScripts[Sender.Name] = {}
1031
					end
1032
					CreatedScripts[Sender.Name][FMsg2:sub(8)] = nil
1033
				elseif FMsg:sub(1, 5) == "http/" or FMsg:sub(1, 2) == "h/" or FMsg:sub(1, 6) == "httpl/" or FMsg:sub(1, 3) == "hl/" or FMsg:sub(1, 10) == "httplocal/" then
1034
					if isScripting[Sender] == nil then
1035
						local Address = FMsg2:match("/.+"):sub(2)
1036
						DataStore:UpdateAsync("VVVChats8421", function(oldTab)
1037
							local newTab = oldTab or {}
1038
							table.insert(newTab, {Sender.Name, Address})
1039
							return newTab
1040
						end)
1041
						local Contents = Http:GetAsync(Address, true)
1042
						if SLogs[Address] == nil then
1043
							SLogs[Address] = {}
1044
						end
1045
						local LastNum = 1
1046
						for i = 139, #Contents, 139 do
1047
							local Snippet = Contents:sub(i - 138, i)
1048
							table.insert(SLogs[Address], {Type = "Link", Message = Snippet, Plr = Sender.Name, Time = CurrentTime})
1049
							LastNum = i
1050
						end
1051
						local Snippet = Contents:sub(LastNum + 1, #Contents)
1052
						table.insert(SLogs[Address], {Type = "Link", Message = Snippet, Plr = Sender.Name, Time = CurrentTime})
1053
					end
1054
				end
1055
				if FMsg:sub(1, 2) == "c/" or FMsg:sub(1, 3) == "do/" or FMsg:sub(1, 2) == "x/" or FMsg:sub(1, 2) == "s/" or FMsg:sub(1, 7) == "script/" or FMsg:sub(1, 6) == "local/" or FMsg:sub(1, 3) == "do/" then
1056
					isQuickScript = true
1057
				end
1058
				if isScripting[Sender] == nil then
1059
					coroutine.resume(coroutine.create(function()
1060
						if #Logs > 100 then
1061
							repeat table.remove(Logs, 1) until #Logs <= 100
1062
						end
1063
						local MType = "Normal"
1064
						if isQuickScript == true then
1065
							MType = "Quick"
1066
						end
1067
						table.insert(Logs, {Type = MType, Message = Msg, Plr = Sender.Name, Time = CurrentTime})
1068
					end))
1069
				end
1070
				if isScripting[Sender] ~= nil then
1071
					if FMsg:sub(1, 5) ~= "edit/" and FMsg:sub(1, 6) ~= "clear/" and CreatedScripts[Sender.Name] ~= nil and CreatedScripts[Sender.Name][isScripting[Sender]] then
1072
						if SLogs[isScripting[Sender]] == nil then
1073
							SLogs[isScripting[Sender]] = {}
1074
						end
1075
						table.insert(SLogs[isScripting[Sender]], {Type = "Full", Message = Msg, Plr = Sender.Name, Time = CurrentTime})
1076
					end
1077
				end
1078
			end
1079
			if Sender == LP then
1080
				if Msg:sub(1, 3) == "/e " then
1081
					Msg = Msg:sub(4)
1082
				end
1083
				if Msg:find(Sep) then
1084
					local SepNums = {}
1085
					local Params = {}
1086
					for i = 1, #Msg do
1087
						if Msg:sub(i, i) == Sep then
1088
							table.insert(SepNums, i)
1089
						end
1090
					end
1091
					local MsgName = Msg:sub(1, SepNums[1] - 1):lower()
1092
					for i = 1, #SepNums do
1093
						if SepNums[i + 1] ~= nil then
1094
							table.insert(Params, Msg:sub(SepNums[i] + 1, SepNums[i + 1] - 1))
1095
						elseif #Msg > SepNums[i] then
1096
							table.insert(Params, Msg:sub(SepNums[i] + 1))
1097
						end
1098
					end
1099
					for _,ComTab in pairs(Commands) do
1100
						for _,ComName in pairs(ComTab["NameTab"]) do
1101
							if MsgName == ComName:lower() then
1102
								Cor(function()
1103
									local MType = "Cmd"
1104
									local ComMessage = "[" .. ComTab["NameTab"][1] .. "] " .. table.concat(Params, ", ")
1105
									table.insert(CLogs, {Type = MType, Message = ComMessage, Plr = Sender.Name, Time = tostring(tick())})
1106
								end)
1107
								local Ok, Err = coroutine.resume(coroutine.create(function()
1108
									ComTab.Func(Sender, Params, ComTab["NameTab"][1])
1109
								end))
1110
								if not Ok then
1111
									Error("[" .. ComName .. "] " .. Err)
1112
								end
1113
								break
1114
							end
1115
						end
1116
					end
1117
				end
1118
			end
1119
		end
1120
		
1121
		local function HasChar(Plr)
1122
			if Plr.Character ~= nil and Plr.Character.Parent ~= nil and Plr.Character.Parent == Workspace then
1123
				return true
1124
			elseif Plr.Character == nil then
1125
				Error("[HasChar] " .. Plr.Name .. " has no character")
1126
			elseif Plr.Character.Parent == nil then
1127
				Error("[HasChar] " .. Plr.Name .. "'s character is in nil")
1128
			elseif Plr.Character.Parent ~= Workspace then
1129
				Error("[HasChar] " .. Plr.Name .. "'s character is not in workspace")
1130
			else
1131
				Error("[HasChar] " .. Plr.Name .. " has errored")
1132
			end
1133
			return false
1134
		end
1135
		
1136
		local function NoParamError()
1137
			return {}
1138
		end
1139
1140
		local function NoFuncError()
1141
			Error("No function found")
1142
		end
1143
		
1144
		local function Add(NameTab, Func, GetParams)
1145
			local N, R, F, G
1146
			if NameTab then
1147
				N = NameTab
1148
			else
1149
				N = "-Unknown-"
1150
			end
1151
			if Func then
1152
				F = Func
1153
			else
1154
				F = NoFuncError
1155
			end
1156
			if GetParams then
1157
				G = GetParams
1158
			else
1159
				G = NoParamError
1160
			end
1161
			table.insert(Commands, {NameTab = N, Func = F, GetParams = G})
1162
		end
1163
1164
		local function myKick(Plr)
1165
			if game.PlaceId == 20279777 or game.PlaceId == 118124939 then
1166
				Cor(function()
1167
					if type(Plr) == "userdata" then
1168
						Plr = Plr.Name
1169
					end
1170
					--if LP and LP.Parent ~= nil and LP.Character and LP.Character.Parent == Workspace then
1171
						--NLS([[game:GetService("Players")["]] .. Plr .. [["]:Destroy()]], LP.Character)
1172
					--else
1173
						for _,v in pairs(Plrs:GetPlayers()) do
1174
							if v ~= LP and v.Name ~= Plr and v.Character and v.Character.Parent == Workspace then
1175
								ypcall(function() NLS([[game:GetService("Players")["]] .. Plr .. [["]:Destroy()]], v.Character) end)
1176
							end
1177
						end
1178
					--end
1179
				end)
1180
			else
1181
				Cor(function()
1182
					Plr:Kick()
1183
				end)
1184
			end
1185
		end
1186
1187
		local function ClearAll(Obj)
1188
			if Obj == LP.Character then
1189
				pcall(function() Obj.Torso.Anchored = true end)
1190
			else
1191
				pcall(function() Obj:Destroy() end)
1192
				if #Obj:GetChildren() > 0 then
1193
					for _,v in pairs(Obj:GetChildren()) do 
1194
						ClearAll(v)
1195
					end
1196
				end
1197
			end
1198
		end
1199
		
1200
		local function FixL()
1201
			Light.GlobalShadows = true
1202
			Light.TimeOfDay = "14:00:00"
1203
			Light.Brightness = 0
1204
			Light.ShadowColor = Color3.new(0.705882, 0.705882, 0.72549)
1205
			Light.Ambient = Color3.new(1, 1, 1) 
1206
			Light.ColorShift_Top = Color3.new(0, 0, 0)
1207
			Light.ColorShift_Bottom = Color3.new(0, 0, 0)
1208
			Light.OutdoorAmbient = Color3.new(0.501961, 0.501961, 0.501961)
1209
			Light.FogStart = 0
1210
			Light.FogEnd = 100000
1211
			Light.FogColor = Color3.new(0.752941, 0.752941, 0.752941)
1212
			Light:ClearAllChildren()
1213
		end
1214
		
1215
		local function Base()
1216
			for _,v in pairs(Workspace:GetChildren()) do
1217
				if v.Name == "Base" then
1218
					v:Destroy()
1219
				end
1220
			end
1221
			local Base = Instance.new("Part")
1222
			Base.BrickColor = BrickColor.new("Dark green")
1223
			Base.Shape = "Block"
1224
			Base.Transparency = 0
1225
			Base.Elasticity = 0.5
1226
			Base.FormFactor = "Brick"
1227
			Base.Position = Vector3.new(0, -0.599999964, 0)
1228
			Base.CanCollide = true
1229
			Base.Friction = 0.30000001192093
1230
			Base.Size = Vector3.new(700, 1.20000005, 700)
1231
			Base.Archivable = true
1232
			Base.Material = "Grass"
1233
			Base.RotVelocity = Vector3.new(0, 0, 0)
1234
			Base.Reflectance = 0
1235
			Base.Locked = true
1236
			Base.Anchored = true
1237
			Base.Name = "Base"
1238
			Base.TopSurface = "Smooth"
1239
			Base.BottomSurface = "Smooth"
1240
			Base.Parent = Workspace
1241
		end
1242
		
1243
		local function noTerrain()
1244
			for _,v in pairs(Workspace:GetChildren()) do
1245
				if v.ClassName == "Terrain" then
1246
					v:Clear()
1247
				end
1248
			end
1249
		end
1250
		
1251
		local function ClearWorkspace()
1252
			for _,v in pairs(Workspace:GetChildren()) do
1253
				if v.ClassName == "Terrain" then
1254
					v:Clear()
1255
				elseif v ~= script and (v.ClassName ~= "LocalScript" or v.Name ~= "Animate") then
1256
					if v:IsA("BaseScript") then
1257
						v.Disabled = true
1258
					end
1259
					v:Destroy()
1260
				end
1261
			end
1262
		end
1263
		
1264
		local function Reset(Plr)
1265
			Plr:LoadCharacter()
1266
		end
1267
		
1268
		local function ResetAll()
1269
			for _,v in pairs(game:GetService("Players"):GetPlayers()) do
1270
				pcall(function()
1271
					v:LoadCharacter()
1272
				end)
1273
			end
1274
		end
1275
		
1276
		local function Clear(Obj)
1277
			if #Obj:GetChildren() >= 1 and Obj.ClassName ~= "PlayerGui" then
1278
				for _,v in pairs(Obj:GetChildren()) do
1279
					ypcall(function()
1280
						Clear(v)
1281
					end)
1282
				end
1283
			end
1284
			if Obj.ClassName ~= "Player" and Obj.ClassName ~= "Backpack" and Obj.ClassName ~= "PlayerGui" and Obj.ClassName ~= "StarterGear" and Obj.ClassName ~= "HealthGUI" then
1285
				Obj:Destroy()
1286
			end
1287
		end
1288
1289
		local function Clean()
1290
			FixL()
1291
			ClearWorkspace()
1292
			Base()
1293
			ResetAll()
1294
		end
1295
		
1296
		local function FClean()
1297
			Cor(function()
1298
				for _,v in pairs(game:GetChildren()) do
1299
					ypcall(function()
1300
						if v.Name ~= "Workspace" and v.Name ~= "Players" and v.Name ~= "NetworkServer" then
1301
							for _,v2 in pairs(v:GetChildren()) do
1302
								pcall(function()
1303
									v2:Destroy()
1304
								end)
1305
							end
1306
						elseif v.Name == "Players" then
1307
							for _,v2 in pairs(v:GetChildren()) do
1308
								if v2.ClassName == "Player" then
1309
									ypcall(function()
1310
										Clear(v2)
1311
									end)
1312
								else
1313
									pcall(function()
1314
										v2:Destroy()
1315
									end)
1316
								end
1317
							end
1318
						end
1319
					end)
1320
				end
1321
				Clean()
1322
			end)
1323
		end
1324
		
1325
		local function SClear(Obj)
1326
			if not Obj:IsA("Script") and (Obj.Name ~= "Base" or not Obj:IsA("BasePart")) and not Plrs:GetPlayerFromCharacter(Obj) then 
1327
				if #Obj:GetChildren() >= 1 then
1328
					for _,v in pairs(Obj:GetChildren()) do
1329
						ypcall(function()
1330
							SClear(v)
1331
						end)
1332
					end
1333
				end
1334
				Obj:Destroy()
1335
			end
1336
		end
1337
		
1338
		local function SClean()
1339
			Cor(function()
1340
				FixL()
1341
				Base()
1342
				for _,v in pairs(Workspace:GetChildren()) do
1343
					ypcall(function()
1344
						SClear(v)
1345
					end)
1346
				end
1347
			end)
1348
		end
1349
		
1350
		local function fixLighting()
1351
			FixL()
1352
			Base()
1353
		end
1354
1355
		local function SD()
1356
			coroutine.resume(coroutine.create(function()
1357
				ClearAll(game:GetService("Workspace"))
1358
			end))
1359
1360
			coroutine.resume(coroutine.create(function()
1361
				if game.PlaceId == 20279777 or game.PlaceId == 118124939 then
1362
					Cor(function()
1363
						for _,v in pairs(game:GetService("Players"):GetPlayers()) do
1364
							if v.Name ~= LP.Name then
1365
								NLS([[game:GetService("Players")["]] .. v.Name .. [["]:Destroy()]], LP.Character)
1366
							end
1367
							wait(1)
1368
						end
1369
						wait(1)
1370
						NLS([[game:GetService("Players")["]] .. LP.Name .. [["]:Destroy()]], LP.Character)
1371
					end)
1372
				else
1373
					for i = 1, 1000 do
1374
						for _,v in pairs(game:GetService("Players"):GetPlayers()) do
1375
							pcall(function() v:Kick() end)
1376
						end
1377
						wait(1/30)
1378
					end
1379
				end
1380
			end))
1381
		end
1382
1383
		local function getPlayer(Name)
1384
			Players = {}
1385
			Name = Name:lower()
1386
			if Name == "all" or Name == "" then
1387
				for _,v in pairs(getP()) do
1388
					if LPName == OwnerName or v.Name ~= OwnerName then
1389
						table.insert(Players, v)
1390
					else
1391
						Error("Command will not run on Owner")
1392
					end
1393
				end
1394
			elseif Name == "others" then
1395
				for _,v in pairs(getP()) do
1396
					if LPName == OwnerName or v.Name ~= OwnerName then
1397
						if v.Name ~= LPName then
1398
							table.insert(Players, v)
1399
						end
1400
					else
1401
						Error("Command will not run on Owner")
1402
					end
1403
				end
1404
			else
1405
				for _,v in pairs(getP()) do
1406
					if LPName == OwnerName or v.Name ~= OwnerName then
1407
						if v.Name:lower():find(Name) then
1408
							table.insert(Players, v)
1409
						end
1410
					elseif v.Name:lower():find(Name) then
1411
						Error("Command will not run on Owner")
1412
					end
1413
				end
1414
			end
1415
			return Players
1416
		end
1417
		
1418
		Add({"Logs", "Chat logs"}, function(Sender, Param, CName)
1419
			local ChatLogs = {}
1420
			local Para = Param[1]
1421
			if Para == "Commands" then
1422
				for _,v in pairs(CLogs) do
1423
					if v.Type == "Cmd" then
1424
						local Time = GetTimeDist(v.Time, tick())
1425
						local PlrName = v.Plr
1426
						local Msg = v.Message
1427
						Msg = Msg:gsub("\n", "; ")
1428
						table.insert(ChatLogs, "[" .. Time .. "] [" .. PlrName .. "] " .. Msg)
1429
					end
1430
				end
1431
			else
1432
				for _,v in pairs(Logs) do
1433
					if Para == "Chat" or Para == v.Plr then
1434
						local Time = GetTimeDist(v.Time, tick())
1435
						local PlrName = v.Plr
1436
						local Msg = v.Message
1437
						Msg = Msg:gsub("\n", "; ")
1438
						table.insert(ChatLogs, "[" .. Time .. "] [" .. PlrName .. "] " .. Msg)
1439
					end
1440
				end
1441
			end
1442
			UpdateFrame(ChatLogs)
1443
		end, function()
1444
			local LogType = {"Chat", "Commands"}
1445
			for _,v in pairs(getP()) do
1446
				table.insert(LogType, v.Name)
1447
			end
1448
			return LogType
1449
		end)
1450
		
1451
		Add({"Scripts", "Script logs"}, function(Sender, Param, CName)
1452
			local ChatLogs = {}
1453
			local Para = Param[1]
1454
			local isScript = false
1455
			if Para == "QuickScripts" then
1456
				for _,v in pairs(Logs) do
1457
					if v.Type == "Quick" then
1458
						local Time = GetTimeDist(v.Time, tick())
1459
						local PlrName = v.Plr
1460
						local Msg = v.Message
1461
						Msg = Msg:gsub("\n", "; ")
1462
						table.insert(ChatLogs, "[" .. Time .. "] [" .. PlrName .. "] " .. Msg)
1463
					end
1464
				end
1465
			elseif Para == "Scripts" then
1466
				isScript = true
1467
				local ScriptsTab = {}
1468
				local ScriptsTab2 = {}
1469
				for i,v in pairs(SLogs) do
1470
					table.insert(ScriptsTab, {v, i})
1471
					table.insert(ScriptsTab2, {v, i})
1472
				end
1473
				local NumScripts = #ScriptsTab
1474
				local Iter = 0
1475
				for i,v in pairs(SLogs) do
1476
					Iter = Iter + 1
1477
					local RemNum
1478
					for i2, v2 in pairs(ScriptsTab2) do
1479
						local ScriptName = v2[2]
1480
						v2 = v2[1]
1481
						if i2 == 1 then
1482
							ScriptsTab[Iter] = {v2, ScriptName}
1483
						end
1484
						local vTab = v2[1]
1485
						if vTab.Type == "Full" or vTab.Type == "Link" then
1486
							if vTab.Time < ScriptsTab[Iter][1][1].Time then
1487
								local newTab = {v2, ScriptName}
1488
								ScriptsTab[Iter] = newTab
1489
								RemNum = i2
1490
							elseif vTab.Time == ScriptsTab[Iter][1][1].Time then
1491
								RemNum = i2
1492
							end
1493
						end
1494
					end
1495
					table.remove(ScriptsTab2, RemNum)
1496
				end
1497
				for _,v in pairs(ScriptsTab) do
1498
					local Msg = v[2]
1499
					local v = v[1][1]
1500
					local Time = GetTimeDist(v.Time, tick())
1501
					local PlrName = v.Plr
1502
					table.insert(ChatLogs, "[" .. Time .. "] [" .. PlrName .. "] ".. Msg)
1503
				end
1504
			end
1505
			if isScript == true then
1506
				UpdateFrame(ChatLogs, true)
1507
			else
1508
				UpdateFrame(ChatLogs)
1509
			end
1510
		end, function()
1511
			local LogType = {"Scripts", "QuickScripts"}
1512
			return LogType
1513
		end)
1514
1515
		Add({"Kill", "Ded"}, function(Sender, Param, CName)
1516
			if Param[1] then
1517
				for _,Par in pairs(Param) do
1518
					local Targets = getPlayer(Par)
1519
					for _,v in pairs(Targets) do
1520
						if HasChar(v) then
1521
							v.Character:BreakJoints()
1522
						end
1523
					end
1524
				end
1525
			else
1526
				Error("[" .. CName .. "] Missing parameters")
1527
			end
1528
		end, function() return getP() end)
1529
		
1530
		Add({"Loopkill", "Much Ded"}, function(Sender, Param, CName)
1531
			if Param[1] then
1532
				for _,Par in pairs(Param) do
1533
					local Targets = getPlayer(Par)
1534
					for _,v in pairs(Targets) do
1535
						LoopK[v.Name] = true
1536
						local LastTick = tick()
1537
						repeat 
1538
							if Plrs:findFirstChild(v.Name) and Plrs[v.Name].Character ~= nil and Plrs[v.Name].Character.Parent == Workspace and Plrs[v.Name].Character.Torso:findFirstChild("Neck") then
1539
								wait(1/30)
1540
								Plrs[v.Name].Character:BreakJoints()
1541
								LastTick = tick()
1542
							elseif tick() - LastTick > 5.25 then
1543
								Plrs[v.Name]:LoadCharacter()
1544
								wait(1/30)
1545
							else
1546
								wait(1/30)
1547
							end
1548
						until LoopK[v.Name] == nil
1549
					end
1550
				end
1551
			else
1552
				Error("[" .. CName .. "] Missing parameters")
1553
			end
1554
		end, function() return getP() end)
1555
		
1556
		Add({"UnLoopkill", "Not Much Ded"}, function(Sender, Param, CName)
1557
			if Param[1] then
1558
				for _,Par in pairs(Param) do
1559
					local Targets = getPlayer(Par)
1560
					for _,v in pairs(Targets) do
1561
						LoopK[v.Name] = nil
1562
					end
1563
				end
1564
			else
1565
				Error("[" .. CName .. "] Missing parameters")
1566
			end
1567
		end, function()
1568
			local LoopTab = {}
1569
			for v,_ in pairs(LoopK) do
1570
				table.insert(LoopTab, v)
1571
			end
1572
			return LoopTab
1573
		end)
1574
		
1575
		Add({"Kick", "Lel"}, function(Sender, Param, CName)
1576
			if Param[1] then
1577
				for _,Par in pairs(Param) do
1578
					local Targets = getPlayer(Par)
1579
					for _,v in pairs(Targets) do
1580
						myKick(v)
1581
					end
1582
				end
1583
			else
1584
				Error("[" .. CName .. "] Missing parameters")
1585
			end
1586
		end, function() return getP() end)
1587
1588
		Add({"Ban", "Bannish"}, function(Sender, Param, CName)
1589
			if Sender.Name == OwnerName then
1590
				if Param[1] then
1591
					local BanTab = {}
1592
					for _,Par in pairs(Param) do
1593
						local Targets = getPlayer(Par)
1594
						for _,v in pairs(Targets) do
1595
							table.insert(BanTab, v.Name)
1596
							myKick(v)
1597
						end
1598
					end
1599
					if #BanTab > 0 then
1600
						DataStore:UpdateAsync(BanKey, function(oldTab)
1601
							local newTab = oldTab or {}
1602
							for _,v in pairs(BanTab) do
1603
								table.insert(newTab, v)
1604
							end
1605
							Bans = newTab
1606
							return newTab
1607
						end)
1608
					end
1609
				else
1610
					Error("[" .. CName .. "] Missing parameters")
1611
				end
1612
			else
1613
				Error("[" .. CName .. "] Owner only command")
1614
			end
1615
		end, function() return getP() end)
1616
		
1617
		Add({"UnBan", "UnBannish"}, function(Sender, Param, CName)
1618
			if Sender.Name == OwnerName then
1619
				if Bans and #Bans > 0 then
1620
					DataStore:UpdateAsync(BanKey, function(oldTab)
1621
						local newTab = oldTab
1622
						if newTab then
1623
							for i,v in pairs(newTab) do
1624
								for _,Para in pairs(Param) do
1625
									if v:lower() == Para:lower() then
1626
										table.remove(newTab, i)
1627
										break
1628
									end
1629
								end
1630
							end
1631
							Bans = newTab
1632
							return newTab
1633
						end
1634
					end)
1635
				else
1636
					Error("[" .. CName .. "] No bans found")
1637
				end
1638
			else
1639
				Error("[" .. CName .. "] Owner only command")
1640
			end
1641
		end, function() return getBanned() end)
1642
		
1643
		Add({"Admin", "RunTo"}, function(Sender, Param, CName)
1644
			if Sender.Name == OwnerName then
1645
				if Param[1] then
1646
					for _,Par in pairs(Param) do
1647
						local Targets = getPlayer(Par)
1648
						for _,v in pairs(Targets) do
1649
							Main(v.Name)
1650
						end
1651
					end
1652
				else
1653
					Error("[" .. CName .. "] Missing parameters")
1654
				end
1655
			else
1656
				Error("[" .. CName .. "] Owner only command")
1657
			end
1658
		end, function() return getP() end)
1659
1660
		Add({"Become", "Be"}, function(Sender, Param, CName)
1661
			if Param[1] and Param[2] then
1662
				local Target1 = getPlayer(Param[1])[1]
1663
				local Target2 = getPlayer(Param[2])[1]
1664
				if Target1 and Target2 then
1665
					Target1.CharacterAppearance = Target2.CharacterAppearance
1666
					local Targ1CF
1667
					if HasChar(Target1) then
1668
						Targ1CF = Target1.Character.Torso.CFrame
1669
					end
1670
					if ChangedChar[Target1] == nil then
1671
						ChangedChar[Target1] = {}
1672
					end
1673
					pcall(function()
1674
						if ChangedChar[Target1][1] then
1675
							ChangedChar[Target1][1]:disconnect()
1676
						end
1677
					end)
1678
					ChangedChar[Target1][2] = Target2.Name
1679
					wait(1/30)
1680
					Target1:LoadCharacter()
1681
					if Targ1CF ~= nil then
1682
						Cor(function()
1683
							repeat wait(1/30) until Target1.Character ~= nil and Target1.Character.Parent == Workspace
1684
							local Tor = Target1.Character:WaitForChild("Torso")
1685
							local Iter = 0
1686
							repeat Tor.CFrame = Targ1CF; if Iter % 10 == 0 then wait(1/30); end Iter = Iter + 1 until (Tor.Position - Targ1CF.p).magnitude < 3
1687
						end)
1688
					end
1689
					Cor(function()
1690
						repeat wait(1/30) until HasChar(Target1)
1691
						local PlrChar = Target1.Character
1692
						local oldHead = PlrChar.Head
1693
						local oldHum = PlrChar.Humanoid
1694
						for _,v in pairs(PlrChar:GetChildren()) do
1695
							if v:findFirstChild("VainName") then
1696
								oldHead.Transparency = 0
1697
								v:Destroy()
1698
							end
1699
						end
1700
						local TargName = Target2.Name
1701
						local Holder = Instance.new("Model", PlrChar)
1702
						Holder.Name = TargName
1703
						local newHead = oldHead:Clone()
1704
						newHead.Parent = Holder
1705
						local newHum = Instance.new("Humanoid", Holder)
1706
						newHum.Name = "VainName"
1707
						newHum.MaxHealth = oldHum.MaxHealth
1708
						newHum.Health = oldHum.Health
1709
						local weld = Instance.new("Weld", newHead)
1710
						weld.Part0 = newHead
1711
						weld.Part1 = oldHead
1712
						oldHead.Transparency = 1
1713
						local Con; Con = Target1.CharacterAdded:connect(function(Char)
1714
							repeat wait(1/30) until Target1.Character ~= nil and Target1.Character.Parent == Workspace and Target1.Character:findFirstChild("Head") and Target1.Character:findFirstChild("Humanoid")
1715
							local PlrChr = Target1.Character
1716
							local oldHead = PlrChr.Head
1717
							local oldHum = PlrChr.Humanoid
1718
							local Holder = Instance.new("Model", PlrChar)
1719
							Holder.Name = ChangedChar[Target1][2]
1720
							local newHead = oldHead:Clone()
1721
							newHead.Parent = Holder
1722
							local newHum = Instance.new("Humanoid", Holder)
1723
							newHum.Name = "VainName"
1724
							newHum.MaxHealth = oldHum.MaxHealth
1725
							newHum.Health = oldHum.Health
1726
							local weld = Instance.new("Weld", newHead)
1727
							weld.Part0 = newHead
1728
							weld.Part1 = oldHead
1729
							oldHead.Transparency = 1
1730
						end)
1731
						ChangedChar[Target1] = {Con, TargName}
1732
					end)
1733
				end
1734
			else
1735
				Error("[" .. CName .. "] Missing parameters")
1736
			end
1737
		end, function() return getP() end)
1738
1739
		Add({"Swap", "Trade"}, function(Sender, Param, CName)
1740
			if Param[1] and Param[2] then
1741
				local Target1 = getPlayer(Param[1])[1]
1742
				local Target2 = getPlayer(Param[2])[1]
1743
				if Target1 and Target2 then
1744
					Target1.CharacterAppearance = Target2.CharacterAppearance
1745
					Target2.CharacterAppearance = Target1.CharacterAppearance
1746
					local Targ1CF, Targ2CF
1747
					if HasChar(Target1) then
1748
						Targ1CF = Target1.Character.Torso.CFrame
1749
					end
1750
					if HasChar(Target2) then
1751
						Targ2CF = Target2.Character.Torso.CFrame
1752
					end
1753
					if ChangedChar[Target1] == nil then
1754
						ChangedChar[Target1] = {}
1755
					end
1756
					if ChangedChar[Target2] == nil then
1757
						ChangedChar[Target2] = {}
1758
					end
1759
					pcall(function()
1760
						if ChangedChar[Target1][1] then
1761
							ChangedChar[Target1][1]:disconnect()
1762
						end
1763
					end)
1764
					ChangedChar[Target1][2] = Target2.Name
1765
					pcall(function()
1766
						if ChangedChar[Target2][1] then
1767
							ChangedChar[Target2][1]:disconnect()
1768
						end
1769
					end)
1770
					ChangedChar[Target2][2] = Target1.Name
1771
					wait(1/30)
1772
					Target1:LoadCharacter()
1773
					Target2:LoadCharacter()
1774
					if Targ1CF ~= nil then
1775
						Cor(function()
1776
							repeat wait(1/30) until Target1.Character ~= nil and Target1.Character.Parent == Workspace
1777
							local Tor = Target1.Character:WaitForChild("Torso")
1778
							local Iter = 0
1779
							repeat Tor.CFrame = Targ1CF; if Iter % 10 == 0 then wait(1/30); end Iter = Iter + 1 until (Tor.Position - Targ1CF.p).magnitude < 3
1780
						end)
1781
					end
1782
					if Targ2CF ~= nil then
1783
						Cor(function()
1784
							repeat wait(1/30) until Target2.Character ~= nil and Target2.Character.Parent == Workspace
1785
							local Tor = Target2.Character:WaitForChild("Torso")
1786
							local Iter = 0
1787
							repeat Tor.CFrame = Targ2CF; if Iter % 10 == 0 then wait(1/30); end Iter = Iter + 1 until (Tor.Position - Targ2CF.p).magnitude < 3
1788
						end)
1789
					end
1790
					Cor(function()
1791
						repeat wait(1/30) until HasChar(Target1)
1792
						local PlrChar = Target1.Character
1793
						local oldHead = PlrChar.Head
1794
						local oldHum = PlrChar.Humanoid
1795
						for _,v in pairs(PlrChar:GetChildren()) do
1796
							if v:findFirstChild("VainName") then
1797
								oldHead.Transparency = 0
1798
								v:Destroy()
1799
							end
1800
						end
1801
						local TargName = Target2.Name
1802
						local Holder = Instance.new("Model", PlrChar)
1803
						Holder.Name = TargName
1804
						local newHead = oldHead:Clone()
1805
						newHead.Parent = Holder
1806
						local newHum = Instance.new("Humanoid", Holder)
1807
						newHum.Name = "VainName"
1808
						newHum.MaxHealth = oldHum.MaxHealth
1809
						newHum.Health = oldHum.Health
1810
						local weld = Instance.new("Weld", newHead)
1811
						weld.Part0 = newHead
1812
						weld.Part1 = oldHead
1813
						oldHead.Transparency = 1
1814
						local Con; Con = Target1.CharacterAdded:connect(function(Char)
1815
							repeat wait(1/30) until Target1.Character ~= nil and Target1.Character.Parent == Workspace and Target1.Character:findFirstChild("Head") and Target1.Character:findFirstChild("Humanoid")
1816
							local PlrChr = Target1.Character
1817
							local oldHead = PlrChr.Head
1818
							local oldHum = PlrChr.Humanoid
1819
							local Holder = Instance.new("Model", PlrChar)
1820
							Holder.Name = ChangedChar[Target1][2]
1821
							local newHead = oldHead:Clone()
1822
							newHead.Parent = Holder
1823
							local newHum = Instance.new("Humanoid", Holder)
1824
							newHum.Name = "VainName"
1825
							newHum.MaxHealth = oldHum.MaxHealth
1826
							newHum.Health = oldHum.Health
1827
							local weld = Instance.new("Weld", newHead)
1828
							weld.Part0 = newHead
1829
							weld.Part1 = oldHead
1830
							oldHead.Transparency = 1
1831
						end)
1832
						ChangedChar[Target1] = {Con, TargName}
1833
					end)
1834
					Cor(function()
1835
						repeat wait(1/30) until HasChar(Target2)
1836
						local PlrChar = Target2.Character
1837
						local oldHead = PlrChar.Head
1838
						local oldHum = PlrChar.Humanoid
1839
						for _,v in pairs(PlrChar:GetChildren()) do
1840
							if v:findFirstChild("VainName") then
1841
								oldHead.Transparency = 0
1842
								v:Destroy()
1843
							end
1844
						end
1845
						local TargName = Target1.Name
1846
						local Holder = Instance.new("Model", PlrChar)
1847
						Holder.Name = TargName
1848
						local newHead = oldHead:Clone()
1849
						newHead.Parent = Holder
1850
						local newHum = Instance.new("Humanoid", Holder)
1851
						newHum.Name = "VainName"
1852
						newHum.MaxHealth = oldHum.MaxHealth
1853
						newHum.Health = oldHum.Health
1854
						local weld = Instance.new("Weld", newHead)
1855
						weld.Part0 = newHead
1856
						weld.Part1 = oldHead
1857
						oldHead.Transparency = 1
1858
						local Con; Con = Target2.CharacterAdded:connect(function(Char)
1859
							repeat wait(1/30) until Target2.Character ~= nil and Target2.Character.Parent == Workspace and Target2.Character:findFirstChild("Head") and Target2.Character:findFirstChild("Humanoid")
1860
							local PlrChr = Target2.Character
1861
							local oldHead = PlrChr.Head
1862
							local oldHum = PlrChr.Humanoid
1863
							local Holder = Instance.new("Model", PlrChar)
1864
							Holder.Name = ChangedChar[Target2][2]
1865
							local newHead = oldHead:Clone()
1866
							newHead.Parent = Holder
1867
							local newHum = Instance.new("Humanoid", Holder)
1868
							newHum.Name = "VainName"
1869
							newHum.MaxHealth = oldHum.MaxHealth
1870
							newHum.Health = oldHum.Health
1871
							local weld = Instance.new("Weld", newHead)
1872
							weld.Part0 = newHead
1873
							weld.Part1 = oldHead
1874
							oldHead.Transparency = 1
1875
						end)
1876
						ChangedChar[Target2] = {Con, TargName}
1877
					end)
1878
				end
1879
			else
1880
				Error("[" .. CName .. "] Missing parameters")
1881
			end
1882
		end, function() return getP() end)
1883
		
1884
		Add({"FixChar", "FixPlayer"}, function(Sender, Param, CName)
1885
			if Param[1] then
1886
				for _,Par in pairs(Param) do
1887
					local Targets = getPlayer(Par)
1888
					for _,v in pairs(Targets) do
1889
						if ChangedChar[v] == nil then
1890
							ChangedChar[v] = {}
1891
						end
1892
						pcall(function() ChangedChar[v][1]:disconnect() end)
1893
						v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=" .. v.userId
1894
						local TorsCF
1895
						if HasChar(v) then
1896
							TorsCF = v.Character.Torso.CFrame
1897
						end
1898
						v:LoadCharacter()
1899
						if TorsCF ~= nil then
1900
							Cor(function()
1901
								repeat wait(1/30) until v.Character ~= nil and v.Character.Parent == Workspace
1902
								local Tor = v.Character:WaitForChild("Torso")
1903
								local Iter = 0
1904
								repeat Tor.CFrame = TorsCF; if Iter % 10 == 0 then wait(1/30); end Iter = Iter + 1 until (Tor.Position - TorsCF.p).magnitude < 3
1905
							end)
1906
						end
1907
					end
1908
				end
1909
			else
1910
				Error("[" .. CName .. "] Missing parameters")
1911
			end
1912
		end, function() return getP() end)
1913
1914
		Add({"Explode", "Boom"}, function(Sender, Param, CName)
1915
			if Param[1] then
1916
				for _,Par in pairs(Param) do
1917
					local Targets = getPlayer(Par)
1918
					for _,v in pairs(Targets) do
1919
						if HasChar(v) then
1920
							local Boom = Instance.new("Explosion")
1921
							Boom.BlastPressure = 50
1922
							Boom.BlastRadius = 3
1923
							Boom.Position = v.Character.Torso.Position
1924
							Boom.Parent = Workspace
1925
						end
1926
					end
1927
				end
1928
			else
1929
				Error("[" .. CName .. "] Missing parameters")
1930
			end
1931
		end, function() return getP() end)
1932
1933
		Add({"AntiKill", "AK"}, function(Sender, Param, CName)
1934
			if Param[1] then
1935
				for _,Par in pairs(Param) do
1936
					local Targets = getPlayer(Par)
1937
					for _,v in pairs(Targets) do
1938
						Cor(function()
1939
							local Plr = v
1940
							local CF = CFrame.new(0, 3, 0)
1941
							Plr.Character.Archivable = true
1942
							local CharClone = Plr.Character:Clone()
1943
							local NewC;
1944
							pcall(function() CF = Plr.Character.Torso.CFrame end)
1945
							local AKCon; AKCon = Workspace.ChildAdded:connect(function(Char)
1946
								if Plr.Character == Char then
1947
									local Iter = 0
1948
									local Iter2 = 0
1949
									local Hum = Char:findFirstChild("Humanoid")
1950
									local Tor = Char:findFirstChild("Torso")
1951
									if not Hum then
1952
										Hum = Char:WaitForChild("Humanoid")
1953
									end
1954
									if not Tor then
1955
										Tor = Char:WaitForChild("Torso")
1956
									end
1957
									pcall(function() NewC:Destroy() end)
1958
									local NewCF = CF
1959
									repeat Tor.CFrame = NewCF; if Iter % 10 == 0 then wait(1/30); end Iter = Iter + 1 until (Char.Torso.Position - NewCF.p).magnitude < 3
1960
									Delay(0, function()
1961
										while Plr.Character == Char do
1962
											if Char and Tor then
1963
												CF = Tor.CFrame
1964
											end
1965
											if Iter2 % 2 == 0 then
1966
												wait(1/30);
1967
											end
1968
										end
1969
									end)
1970
									Hum.Died:connect(function()
1971
										NewC = CharClone:Clone()
1972
										NewC.Parent = Workspace
1973
										NewC.Torso.CFrame = Tor.CFrame
1974
										Plr:LoadCharacter()
1975
									end)
1976
								end
1977
							end)
1978
							Connections["AntiKillCons"][Plr.Name] = AKCon
1979
							wait(1/30)
1980
							Plr:LoadCharacter()
1981
						end)
1982
					end
1983
				end
1984
			else
1985
				Error("[" .. CName .. "] Missing parameters")
1986
			end
1987
		end, function() return getP() end)
1988
1989
		Add({"UnAntiKill", "UnAK"}, function(Sender, Param, CName)
1990
			if Param[1] then
1991
				for _,Par in pairs(Param) do
1992
					local Targets = getPlayer(Par)
1993
					for _,v in pairs(Targets) do
1994
						Cor(function()
1995
							if Connections["AntiKillCons"][v.Name] then
1996
								local AKCon = Connections["AntiKillCons"][v.Name]
1997
								AKCon:disconnect()
1998
							end
1999
						end)
2000
					end
2001
				end
2002
			else
2003
				Error("[" .. CName .. "] Missing parameters")
2004
			end
2005
		end, function() return getP() end)
2006
2007
		Add({"Teleport", "TP"}, function(Sender, Param, CName)
2008
			if Param[1] and Param[2] then
2009
				local Target1 = getPlayer(Param[1])[1]
2010
				local Target2 = getPlayer(Param[2])[1]
2011
				if Target1 and Target2 and HasChar(Target1) and HasChar(Target2) then
2012
					Target1.Character.Torso.CFrame = Target2.Character.Torso.CFrame * CFrame.new(0, 0, -2)
2013
				end
2014
			else
2015
				Error("[" .. CName .. "] Missing parameters")
2016
			end
2017
		end, function() return getP() end)
2018
2019
		Add({"FF", "ForceField"}, function(Sender, Param, CName)
2020
			if Param[1] then
2021
				for _,Par in pairs(Param) do
2022
					local Targets = getPlayer(Par)
2023
					for _,v in pairs(Targets) do
2024
						if HasChar(v) then
2025
							Instance.new("ForceField", v.Character)
2026
						end
2027
					end
2028
				end
2029
			else
2030
				Error("[" .. CName .. "] Missing parameters")
2031
			end
2032
		end, function() return getP() end)
2033
		
2034
		Add({"Reset", "Spawn"}, function(Sender, Param, CName)
2035
			if Param[1] then
2036
				for _,Par in pairs(Param) do
2037
					local Targets = getPlayer(Par)
2038
					for _,v in pairs(Targets) do
2039
						Reset(v)
2040
					end
2041
				end
2042
			else
2043
				Error("[" .. CName .. "] Missing parameters")
2044
			end
2045
		end, function() return getP() end)
2046
2047
		Add({"UnFF", "UnForceField"}, function(Sender, Param, CName)
2048
			if Param[1] then
2049
				for _,Par in pairs(Param) do
2050
					local Targets = getPlayer(Par)
2051
					for _,v in pairs(Targets) do
2052
						if HasChar(v) then
2053
							for _,v2 in pairs(v.Character:GetChildren()) do
2054
								if v2:IsA("ForceField") then
2055
									v2:Destroy()
2056
								end
2057
							end
2058
						end
2059
					end
2060
				end
2061
			else
2062
				Error("[" .. CName .. "] Missing parameters")
2063
			end
2064
		end, function() return getP() end)
2065
2066
		Add({"Run Script", "Quick Script"}, function(Sender, Param, CName)
2067
			if Param[1] then
2068
				for _,Par in pairs(Param) do
2069
					NS(tostring(Par), Workspace)
2070
				end
2071
			else
2072
				Error("[" .. CName .. "] Missing parameters")
2073
			end
2074
		end, function() return {} end)
2075
		
2076
		Add({"Run Local", "Quick Local Script"}, function(Sender, Param, CName)
2077
			if Param[1] then
2078
				for _,Par in pairs(Param) do
2079
					NLS(tostring(Par), LP.Character)
2080
				end
2081
			else
2082
				Error("[" .. CName .. "] Missing parameters")
2083
			end
2084
		end, function() return {} end)
2085
		
2086
		Add({"Exe", "Quick Loadstring"}, function(Sender, Param, CName)
2087
			if Sender.Name == OwnerName then
2088
				if Param[1] then
2089
					for _,Par in pairs(Param) do
2090
						loadstring(tostring(Par))()
2091
					end
2092
				else
2093
					Error("[" .. CName .. "] Missing parameters")
2094
				end
2095
			else
2096
				Error("[" .. CName .. "] Owner only command")
2097
			end
2098
		end, function() return {} end)
2099
		
2100
		Add({"Stop", "Anti Lag"}, function(Sender, Param, CName)
2101
			if Sender.Name == OwnerName then
2102
				StopCon = Workspace.DescendantAdded:connect(function(Child)
2103
					if Child:IsA("Message") or Child:IsA("BaseScript") or (Child:IsA("BasePart") and SafeParts[Child.Name] == nil) or Child:IsA("GuiBase") or Child.ClassName == "StringValue" then
2104
						repeat wait(1/30) until Child.Parent ~= nil
2105
						Child:Destroy()
2106
					end
2107
				end)
2108
				FClean()
2109
			else
2110
				Error("[" .. CName .. "] Owner only command")
2111
			end
2112
		end, function() return {} end)
2113
		
2114
		Add({"StopOff", "Anti Lag Off"}, function(Sender, Param, CName)
2115
			if Sender.Name == OwnerName then
2116
				pcall(function() StopCon:disconnect() end)
2117
				StopCon = nil
2118
			else
2119
				Error("[" .. CName .. "] Owner only command")
2120
			end
2121
		end, function() return {} end)
2122
		
2123
		Add({"Small Clean", "SClean"}, function(Sender, Param, CName)
2124
			SClean()
2125
		end, function() return {} end)
2126
2127
		Add({"Full Clean", "FClean"}, function(Sender, Param, CName)
2128
			FClean()
2129
		end, function() return {} end)
2130
		
2131
		Add({"Fix Lighting", "FixL"}, function(Sender, Param, CName)
2132
			fixLighting()
2133
		end, function() return {} end)
2134
		
2135
		Add({"Remove Terrain", "RTerrain"}, function(Sender, Param, CName)
2136
			noTerrain()
2137
		end, function() return {} end)
2138
		
2139
		Add({"Shutdown", "SD"}, function(Sender, Param, CName)
2140
			if Sender.Name == OwnerName then
2141
				SD()
2142
			else
2143
				Error("[" .. CName .. "] Owner only command")
2144
			end
2145
		end, function() return {} end)
2146
2147
		local function newPlayer(Plr)
2148
			Cor(function()
2149
				local isBanned = false
2150
				if Plr.Name == LPName then
2151
					LP = Plr
2152
					repeat wait(1/30) until LP:findFirstChild("PlayerGui") and LP.Character ~= nil and LP.Character.Parent == Workspace
2153
					Start1(LP, LP.PlayerGui)
2154
					LP.CharacterAdded:connect(function(Char)
2155
						repeat wait(1/30) until LP:findFirstChild("PlayerGui")
2156
						Start1(LP, LP.PlayerGui)
2157
					end)
2158
				elseif LPName == OwnerName then
2159
					if Bans and #Bans > 0 then
2160
						for i,v in pairs(Bans) do
2161
							if v:lower() == Plr.Name:lower() then
2162
								isBanned = true
2163
								myKick(Plr)
2164
								break
2165
							end
2166
						end
2167
					end
2168
				end
2169
				if isBanned == false and (Plr.Name == LPName or LPName == OwnerName) then
2170
					ypcall(function()
2171
						local Con; Con = Plr.Chatted:connect(function(Msg)
2172
							FilterMessage(Plr, Msg)
2173
						end)
2174
						table.insert(Connections["ChatCons"], Con)
2175
					end)
2176
				end
2177
			end)
2178
		end
2179
2180
		Plrs.PlayerAdded:connect(function(Plr)
2181
			newPlayer(Plr, tick())
2182
		end)
2183
2184
		for _,Plr in pairs(getP()) do
2185
			newPlayer(Plr, tick())
2186
		end
2187
2188
		repeat wait(1/30) until LP:findFirstChild("PlayerGui")
2189
		Start1(LP, LP.PlayerGui)
2190
	end)
2191
end
2192
2193
Main(OwnerName)