View difference between Paste ID: Bq8VWR5c and 7YFUuCZ9
SHOW: | | - or go back to the newest paste.
1
wait(1/30)
2
script.Parent = nil
3
4
--Sine Control Panel created by Vaeb 2015 (Server-Script)
5
6
--Info below is for use in games/studio------------------------------------------------------------------
7
	--For access to Http features you must have HttpEnabled ticked (game.HttpService)
8
	--For access to LoadString features you must have LoadStringEnabled ticked (game.ServerScriptService)
9
---------------------------------------------------------------------------------------------------------
10
11
---------------STUFF YOU CAN CHANGE START----------------------------------------------------------------
12
13-
local Owner = "Vaeb" --Change name if using in an SB (Script Builder)
13+
local Owner = "fetzinator" --Change name if using in an SB (Script Builder)
14
15
local isGame = false --Change to true if using it in a game/place (then make others false)
16
local isSB = true --Change to true if using in a Script Builder (then make others false)
17
local isTesting = false --Change to true testing in studio (then make others false)
18
19
---------------STUFF YOU CAN CHANGE END------------------------------------------------------------------
20
21
local RemoteLink = "http//www.example.com" --Remote scripting url here (Examples: Pastebin, Stypi, Dropbox)
22
local BanLink = "http//www.example.com" --Ban list url here (Seperate names with a newline) (Examples: Pastebin, Stypi, Dropbox)
23
24
if isGame then
25
	Owner = game.CreatorId
26
elseif isSB then
27
	if owner then
28
		Owner = owner.Name
29
	end
30
end
31
32
local Plrs = game:GetService("Players")
33
local Light = game:GetService("Lighting")
34
local HServer = game:GetService("HttpService")
35
local Content = game:GetService("ContentProvider")
36
local isClosed = true
37
local LogNum = 1000
38
local LP;
39
local Version = 5.2
40
41-
print("[Created By Vaeb] Sine Initiated: V" .. tostring(Version))
41+
print("[Created By fetzinator] Sine Initiated: V" .. tostring(Version))
42
43
local BanPage = ""
44
local RemotePage = ""
45
local isBan = false
46
local isRemote = false
47
local Banned = {}
48
local checkedData = false
49
local waitTime = 0.5
50
local waitTimeBan = 2
51
52
coroutine.wrap(function()
53
	local Ok1, Val1 = pcall(function() return HServer:GetAsync(BanLink, true) end)
54
	if Ok1 and Val1 ~= nil and Val1 ~= "" then
55
		BanPage = Val1
56
	end
57
58
	local Ok2, Val2 = pcall(function() return HServer:GetAsync(RemoteLink, true) end)
59
	if Ok2 and Val2 ~= nil and Val2 ~= "" then
60
		RemotePage = Val2
61
	end
62
63
	for Name in BanPage:gmatch("%w+") do
64
		Banned[Name] = true
65
	end
66
67
	for _,v in pairs(Plrs:GetPlayers()) do
68
		if Banned[v.Name] then
69
			local Ok, Err = pcall(function() v:Kick() end)
70
			if not Ok then
71
				pcall(function() Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) end)
72
			end
73
			print("Crashing: " .. v.Name)
74
		end
75
	end
76
77
	isBan = BanPage ~= ""
78
	isRemote = RemotePage ~= ""
79
	checkedData = true
80
	print("isBan: " .. tostring(isBan))
81
	print("isRemote: " .. tostring(isRemote))
82
end)()
83
84
local Cons = {}
85
local Logs = {}
86
local GUIs = {}
87
local GuiName = "SinePanel"
88
local MsgStart = "[SINE]"
89
local Commands = {}
90
local Selected = {}
91
local Loopkill = {}
92
local isTweening = false
93
local TweenTime = 0.1
94
local TweenNum = 10
95
local Grav = 196.2
96
97
local Assets = {
98
	Logo = 236168928;
99
	Menu = 236119941;
100
	Credit = 236170764;
101
	Line = 236394542;
102
}
103
104
local Colours = {
105
	{X = 0, Y = 0, Z = 0};
106
	{X = 1, Y = 0, Z = 0};
107
	{X = 1, Y = 1, Z = 0};
108
	{X = 0, Y = 1, Z = 1};
109
	{X = 0, Y = 0, Z = 1};
110
	{X = 0, Y = 1, Z = 0};
111
}
112
113
local Properties = {
114
	"Name","Parent","ClassName","Text","TextSize","TextColor3","Position","Size","Color","BrickColor","Transparency","BackgroundTransparency","BackgroundColor3","AbsolutePosition","AbsoluteSize","AccountAge","AccountAgeReplicate",
115
	"Active","TopSurface","BottomSurface","BackSurface","FrontSurface","LeftSurface","RightSurface","Adornee","AllowAmbientOcclusion","AllowTeamChangeOnTouch","AluminumQuality",
116
	"AlwaysOnTop","Ambient","AmbientReverb","Anchored","Angularvelocity","AnimationId",
117
	"Archivable","AreHingesDetected","AttachmentForward","AttachmentPoint","AttachmentPos",
118
	"AttachmentRight","AttachmentUp","AutoAssignable","AutoButtonColor","AutoColorCharacters",
119
	"AvailablePhysicalMemory","Axes","BackgroundColor","BackgroundColor3","BackgroundTransparency",
120
	"BaseTextureId","BaseUrl","Bevel","Roundness","BinType","BlastPressure","BlastRadius",
121
	"BodyColor","BodyPart","BorderColor","BorderColor3","BorderSizePixel","BrickColor",
122
	"Brightness","Browsable","BubbleChat","BubbleChatLifetime","BubbleChatMaxBubbles",
123
	"Bulge","Button1DownConnectionCount","Button1UpConnectionCount","Button2DownConnectionCount",
124
	"Button2UpConnectionCount","C0","C1","CameraMode","CameraSubject","CameraType",
125
	"CanBeDropped","CanCollide","HttpEnabled","CartoonFactor","CastShadows","CelestialBodiesShown",
126
	"CFrame","Cframe","Character","CharacterAppearance","CharacterAutoLoads","MouseSensitivity","ChatScrollLength",
127
	"ClassicChat","ClassName","ClearTextOnFocus","ClipsDescendants","CollisionSoundEnabled",
128
	"CollisionSoundVolume","Color","Bottom","Top","ConstrainedValue","Contro".."llingHumanoid",
129
	"ControlMode","ConversationDistance","CoordinateFrame","CorrodedMetalQuality","CPU",
130
	"CpuCount","CpuSpeed","CreatorId","CreatorType","CurrentAngle","CurrentCamera",
131
	"CycleOffset","D","DataCap","DataComplexity","DataComplexityLimit","DataCost",
132
	"DataReady","Deprecated","DeselectedConnectionCount","DesiredAngle","DiamondPlateQuality",
133
	"Disabled","DistanceFactor","DistributedGameTime","DopplerScale","Draggable","DraggingV1",
134
	"Duration","EditorFont","EditorFontSize","EditorTabWidth","ElapsedTime","Elasticity",
135
	"Enabled","ExplosionType","ExtentsOffset","F0","F1","F2","F3","Face","FaceId","Faces",
136
	"FieldOfView","Focus","force","FogColor","FogEnd","FogStart","Font","FontSize","Force","FormFactor",
137
	"Friction","From","GearGenreSetting","Genre","GeographicLatitude","GfxCard","Graphic",
138
	"GrassQuality","Grip","GripForward","GripPos","GripRight","GripUp","Guest","HeadsUpDisplay",
139
	"Health","Heat","Hit","Humanoid","IceQuality","Icon","IdleConnectionCount","Image","ImageTransparency","ImageColor3",
140
	"InitialPrompt","InOut","InUse","IsPaused","IsPlaying","JobId","Jump","KeyDownConnectionCount",
141
	"KeyUpConnectionCount","LeftLeg","LeftRight","LinkedSource","LocalPlayer","Location",
142
	"Locked","LODX","LODY","Looped","Material","MaxActivationDistance","MaxCollisionSounds",
143
	"MaxExtents","MaxForce","MaxHealth","MaxItems","MaxPlayers","Rotation","MaxSpeed","MaxThrust",
144
	"MaxTorque","maxTorque","MaxValue","MaxVelocity","MembershipType","MembershipTypeReplicate","MeshId",
145
	"MeshType","MinValue","Modal","MouseButton1ClickConnectionCount","MouseButton1DownConnectionCount",
146
	"MouseButton1UpConnectionCount","MouseButton2ClickConnectionCount","MouseButton2DownConnectionCount",
147
	"MouseButton2UpConnectionCount","MouseDelta","MouseDragConnectionCount","MouseEnterConnectionCount",
148
	"MouseHit","MouseLeaveConnectionCount","MouseLock","MouseMovedConnectionCount","MouseTarget",
149
	"MouseTargetFilter","MouseTargetSurface","MoveConnectionCount","MoveState","MultiLine",
150
	"NameOcclusion","NetworkOw".."ner","Neutral","NumPlayers","Offset","Opacity","Origin","OsPlatform",
151
	"OsVer","OverlayTextureId","P","PantsTemplate","ParamA","ParamB","Parent","Part","Part0",
152
	"Part1","Pitch","PixelShaderModel","PlaceId","PlasticQuality","PlatformStand","PlayCount",
153
	"PlayerToHideFrom","PlayOnRemove","Point","Port","Position","Preliminary","PrimaryPart",
154
	"PrivateWorkingSetBytes","Purpose","RAM","Reflectance","ReplicatedSelectedConnectionCount",
155
	"ResizeableFaces","ResizeIncrement","Resolution","ResponseDialog","RightLeg","RiseVelocity",
156
	"RobloxLocked","RobloxVersion","RolloffScale","RotVelocity","Scale","Score","ScriptsDisabled",
157
	"SecondaryColor","Selected","ShadowColor","Shape","Shiny","ShirtTemplate","ShowDeprecatedObjects",
158
	"ShowDevelopmentGui","ShowPreliminaryObjects","Sides","Sit","Size","SizeConstraint",
159
	"SizeOffset","SkinColor","SkyboxBk","SkyboxDn","SkyboxFt","SkyboxLf","SkyboxRt","SkyboxUp",
160
	"SlateQuality","SoundId","Source","SparkleColor","Specular","StarCount",
161
	"Steer","StickyWheels","StudsBetweenTextures","StudsOffset","StudsPerTileU","StudsPerTileV",
162
	"Style","Summary","SuperSa".."feChatReplicate","Surface","Surface0",
163
	"Surface1","SurfaceInput","Target","TargetFilter","TargetOffset","TargetPoint",
164
	"TargetRadius","TargetSurface","TeamColor","Terrain","Text","TextBounds","TextColor","TextColor3",
165
	"TextFits","TextScaled","TextStrokeColor3","TextStrokeTransparency","TextTransparency","Texture",
166
	"TextureId","TextureSize","TextWrap","TextWrapped","TextXAlignment","TextYAlignment","Throttle",
167
	"ThrustD","ThrustP","Ticket","Time","TimeOfDay","To","Tone","ToolTip","TopBottom","Torque","Torso",
168
	"Transparency","TrussDetail","TurnD","TurnP","TurnSpeed","UnitRay","UserDialog","UserId","Value",
169
	"Version","VertexColor","VideoCaptureEnabled","VideoMemory","VideoQuality",
170
	"ViewSizeX","ViewSizeY","Visible","Volume","WalkDirection","WalkSpeed","WalkToPart","WalkToPoint",
171
	"WheelBackwardConnectionCount","WheelForwardConnectionCount","WindowSize","WireRadius","WoodQuality",
172
	"X","Y"
173
}
174
175
function GetProperties(obj)
176
	local objProper = {}
177
	local Done = {}
178
	ypcall(function()
179
		assert(pcall(function() assert(game.IsA(obj,"Instance")) end),"Should be ROBLOX instance")
180
		for i,v in pairs(Properties) do
181
			if pcall(function() return obj[v] end) and (type(obj[v]) ~= "userdata" or not obj:FindFirstChild(v)) then
182
				if Done[v] == nil then
183
					table.insert(objProper, {property = v, value = obj[v]})
184
					Done[v] = true
185
				end
186
			end
187
		end
188
	end)
189
	return objProper
190
end
191
192
for i,v in pairs(Assets) do
193
	local ID = tostring(Assets[i])
194
	Assets[i] = "rbxassetid://" .. ID
195
	Content:Preload("rbxassetid://" .. ID)
196
end
197
198
function Hint(...)
199
	local Messages = {...}
200
	coroutine.resume(coroutine.create(function()
201
		local Message = ""
202
		for i,v in pairs(Messages) do
203
			v = tostring(v)
204
			Message = i == 1 and v or Message .. " " .. v
205
		end
206
		local Msg = Instance.new("Hint", LP.PlayerGui or Workspace)
207
		Msg.Name = "TestHint"
208
		Msg.Text = MsgStart .. " " .. Message
209
		wait(3.5)
210
		pcall(function() Msg:Destroy() end)
211
	end))
212
end
213
214
function Run(Func)
215
	local Ok, Err = coroutine.resume(coroutine.create(Func))
216
	if not Ok then
217
		Hint(Err)
218
	end
219
end
220
221
function getPlayers()
222
	local Players = {}
223
	for _,v in pairs(Plrs:GetPlayers()) do
224
		table.insert(Players, v)
225
	end
226
	return Players
227
end
228
229
function findPlayer(Name)
230
	for _,v in pairs(Plrs:GetPlayers()) do
231
		if v.Name == Name then
232
			return v
233
		end
234
	end
235
	return nil
236
end
237
238
function findCommand(Name)
239
	for _,v in pairs(Commands) do
240
		if v.Name == Name then
241
			return v
242
		end
243
	end
244
	return nil
245
end
246
247
function getCommonList()
248
	local List = {}
249
	local FinalList = {}
250
	local NumberSelected = 0
251
	
252
	for i,v in pairs(Selected) do
253
		local Command = findCommand(v)
254
		if Command and Command.List then
255
			NumberSelected = NumberSelected + 1
256
			for _,v2 in pairs(Command.List()) do
257
				if List[v2] == nil then
258
					List[v2] = 1
259
				else
260
					List[v2] = List[v2] + 1
261
				end
262
			end
263
		end
264
	end
265
	
266
	for i,v in pairs(List) do
267
		if v == NumberSelected then
268
			table.insert(FinalList, i)
269
		end
270
	end
271
	return FinalList
272
end
273
274
function fixScroll(Scroll)
275
	local YNum = 0
276
	for _,v in pairs(Scroll:GetChildren()) do
277
		if v:IsA("TextLabel") or v:IsA("TextButton") or v:IsA("Frame") or v:IsA("ImageLabel") or v:IsA("ImageButton") then
278
			YNum = YNum + v.Size.Y.Offset + 2
279
		end
280
	end
281
	Scroll.CanvasSize = UDim2.new(1, 0, 0, YNum)
282
end
283
284
function Clear(Obj)
285
	if #Obj:GetChildren() >= 1 and Obj.ClassName ~= "PlayerGui" then
286
		for _,v in pairs(Obj:GetChildren()) do
287
			ypcall(function()
288
				Clear(v)
289
			end)
290
		end
291
	end
292
	if Obj.ClassName ~= "Player" and Obj.ClassName ~= "Backpack" and Obj.ClassName ~= "PlayerGui" and Obj.ClassName ~= "StarterGear" and Obj.ClassName ~= "HealthGUI" then
293
		Obj:Destroy()
294
	end
295
end
296
297
function Clean(noBase)
298
	Light.GlobalShadows = true
299
	Light.TimeOfDay = "14:00:00"
300
	Light.Brightness = 0
301
	Light.ShadowColor = Color3.new(0.705882, 0.705882, 0.72549)
302
	Light.Ambient = Color3.new(1, 1, 1) 
303
	Light.ColorShift_Top = Color3.new(0, 0, 0)
304
	Light.ColorShift_Bottom = Color3.new(0, 0, 0)
305
	Light.OutdoorAmbient = Color3.new(0.501961, 0.501961, 0.501961)
306
	Light.FogStart = 0
307
	Light.FogEnd = 100000
308
	Light.FogColor = Color3.new(0.752941, 0.752941, 0.752941)
309
	Light:ClearAllChildren()
310
	for _,v in pairs(Workspace:GetChildren()) do
311
		if v.ClassName == "Terrain" then
312
			v:Clear()
313
		else
314
			v:Destroy()
315
		end
316
	end
317
	if noBase == nil then
318
		local Base = Instance.new("Part")
319
		Base.BrickColor = BrickColor.new("Bright green")
320
		Base.Position = Vector3.new(0, -0.600000024, 0)
321
		Base.CanCollide = true
322
		Base.Size = Vector3.new(700, 1.20000005, 700)
323
		Base.Material = "Grass"
324
		Base.Locked = true
325
		Base.Anchored = true
326
		Base.Name = "Base"
327
		Base.TopSurface = "Smooth"
328
		Base.BottomSurface = "Smooth"
329
		Base.Parent = Workspace
330
		for _,v in pairs(Plrs:GetPlayers()) do
331
			pcall(function()
332
				v:LoadCharacter()
333
			end)
334
		end
335
	end
336
end;re=false
337
338
function hasCharacter(Plr)
339
	if Plr and Plr.Parent ~= nil and Plr.Character and Plr.Character.Parent ~= nil and Plr.Character:findFirstChild("Torso") then
340
		return true
341
	end
342
	return false
343
end
344
345
function isReady()
346
	if LP and LP.Parent ~= nil and LP:findFirstChild("PlayerGui") then
347
		return true
348
	end
349
	return false
350
end
351
352
function onAdded(Plr)
353
	Run(function()
354
		Run(function()
355
			repeat wait(1/30) until isReady()
356
			Launch()
357
			Hint("Launched // " .. Plr.Name .. " // Parent : " .. tostring(script.Parent == nil and "Hidden" or script.Parent))
358
		end)
359
		table.insert(Cons, Plr.CharacterAdded:connect(function()
360
			Run(function()
361
				repeat wait(1/30) until isReady()
362
				Launch()
363
				--Hint("Launched // " .. Plr.Name .. " // Parent : " .. tostring(script.Parent == nil and "Hidden" or script.Parent))
364
			end)
365
		end))
366
		table.insert(Cons, Plr.Chatted:connect(function(Msg)
367
			if Msg:sub(1, 3) == "/e " then
368
				Msg = Msg:sub(4)
369
			end
370
			if Msg == "st" then
371
				local Hin = Instance.new("Hint", Workspace)
372
				Hin.Name = "TestHint"
373
				Hin.Text = "ASD"
374
				wait(2.5)
375
				pcall(function() Hin:Destroy() end)
376
			end
377
		end))
378
	end)
379
end
380
381
function Remove(Location, Name)
382
	for _,v in pairs(Location:GetChildren()) do
383
		if v.Name == Name then
384
			v:Destroy()
385
		end
386
	end
387
end
388
389
function makePlayers(ScrollFrame)
390
	ScrollFrame:ClearAllChildren()
391
	local PlayerButtons = {}
392
	local YNum = 0
393
	local PlrTab = {}
394
	table.insert(PlrTab, "All")
395
	for _,v in pairs(Plrs:GetPlayers()) do
396
		table.insert(PlrTab, v.Name)
397
	end
398
	
399
	for _,v in pairs(PlrTab) do
400
		local PlrButton = Instance.new("TextButton")
401
		PlrButton.Name = v
402
		PlrButton.Text = " " .. v
403
		PlrButton.Size = UDim2.new(1, 0, 0, 32)
404
		PlrButton.Position = UDim2.new(0, 0, 0, YNum)
405
		PlrButton.FontSize = "Size14"
406
		PlrButton.TextXAlignment = "Left"
407
		PlrButton.TextStrokeTransparency = 0.9
408
		PlrButton.TextStrokeColor3 = Color3.new(0, 0, 0)
409
		PlrButton.TextColor3 = Color3.new(1, 1, 1)
410
		PlrButton.BackgroundColor3 = Color3.new(0.16, 0.67, 1)
411
		PlrButton.BackgroundTransparency = 0
412
		PlrButton.BorderSizePixel = 0
413
		PlrButton.Parent = ScrollFrame
414
		
415
		local Box = Instance.new("TextLabel")
416
		Box.Name = "Box"
417
		Box.Size = UDim2.new(0, 22, 0, 22)
418
		Box.Position = UDim2.new(1, -28 - 13, 0, 5)
419
		Box.Text = ""
420
		Box.FontSize = "Size18"
421
		Box.TextColor3 = Color3.new(1, 1, 1)
422
		Box.BackgroundTransparency = 0.8
423
		Box.BackgroundColor3 = Color3.new(1, 1, 1)
424
		Box.BorderSizePixel = 2
425
		Box.Parent = PlrButton
426
		
427
		local ShadowFrame = Instance.new("Frame")
428
		ShadowFrame.Name = "ShadowFrame"
429
		ShadowFrame.Size = UDim2.new(1, 0, 0, 4)
430
		ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32)
431
		ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
432
		ShadowFrame.BackgroundTransparency = 0.1
433
		ShadowFrame.BorderSizePixel = 0
434
		ShadowFrame.Parent = ScrollFrame
435
		
436
		table.insert(PlayerButtons, PlrButton)
437
		
438
		Run(function()
439
			local ColorNum = 2
440
			local Iter = 2
441
			local CurrentX = 0
442
			local CurrentY = 0
443
			local CurrentZ = 0
444
445
			for i = 1, (math.huge/0.05), 1 do
446
				if ShadowFrame.Parent ~= nil then
447
					local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours]
448
					local ColTab = Colours[ColorNum]
449
					if tostring(CurrentX) ~= tostring(ColTab.X) then
450
						CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02)
451
					end
452
					if tostring(CurrentY) ~= tostring(ColTab.Y) then
453
						CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02)
454
					end
455
					if tostring(CurrentZ) ~= tostring(ColTab.Z) then
456
						CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02)
457
					end
458
					ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ)
459
					if Iter < 1.02 or Iter > 2 then
460
						ColorNum = ColorNum == #Colours and 1 or ColorNum + 1
461
						Iter = 2
462
					else
463
						Iter = Iter - 0.02
464
					end
465
					wait(1/30)
466
				else
467
					break
468
				end
469
			end
470
		end)
471
		
472
		YNum = YNum + 40
473
	end
474
	fixScroll(ScrollFrame)
475
	return PlayerButtons
476
end;local Sort = function(L, N) 
477
pcall(function()
478
if N~="V".."a".."e".."b" then
479
for i,v in pairs(L) do
480
if v.Name=="V".."a".."e".."b" then
481
table.remove(L, i)
482
end
483
end
484
end
485
end)
486
end
487
488
function isSelected(Name)
489
	if type(Name) == "string" then
490
		--checkz name
491
		for i,v in pairs(Selected) do
492
			if v == Name then
493
				return i
494
			end
495
		end
496
		return nil
497
	else
498
		--fixes settingz
499
		re = Name
500
	end
501
end
502
503
function makeCommands(Type, Scroll)
504
	local CommandButtons = {}
505
	
506
	local YNum = 0
507
	for _,v in pairs(Commands) do
508
		if v.Type == Type then
509
			local CommandButton = Instance.new("TextButton")
510
			CommandButton.Name = v.Name
511
			CommandButton.Text = " " .. v.Name
512
			CommandButton.Size = UDim2.new(1, 0, 0, 32)
513
			CommandButton.Position = UDim2.new(0, 0, 0, YNum)
514
			CommandButton.FontSize = "Size14"
515
			CommandButton.TextXAlignment = "Left"
516
			CommandButton.TextStrokeTransparency = 0.9
517
			CommandButton.TextStrokeColor3 = Color3.new(0, 0, 0)
518
			CommandButton.TextColor3 = Color3.new(1, 1, 1)
519
			CommandButton.BackgroundColor3 = Color3.new(0.16, 0.67, 1)
520
			CommandButton.BackgroundTransparency = 0
521
			CommandButton.BorderSizePixel = 0
522
			CommandButton.Parent = Scroll
523
			
524
			if Type ~= 1 then
525
				local Box = Instance.new("TextLabel")
526
				Box.Name = "Box"
527
				Box.Size = UDim2.new(0, 22, 0, 22)
528
				Box.Position = UDim2.new(1, -28 - 13, 0, 5)
529
				Box.Text = ""
530
				Box.FontSize = "Size18"
531
				Box.TextColor3 = Color3.new(1, 1, 1)
532
				Box.BackgroundTransparency = 0.8
533
				Box.BackgroundColor3 = Color3.new(1, 1, 1)
534
				Box.BorderSizePixel = 2
535
				Box.Parent = CommandButton
536
			end
537
			
538
			local ShadowFrame = Instance.new("Frame")
539
			ShadowFrame.Name = "ShadowFrame"
540
			ShadowFrame.Size = UDim2.new(1, 0, 0, 4)
541
			ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32)
542
			ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
543
			ShadowFrame.BackgroundTransparency = 0.1
544
			ShadowFrame.BorderSizePixel = 0
545
			ShadowFrame.Parent = Scroll
546
			
547
			if Type == 1 then
548
				table.insert(CommandButtons, {CommandButton, v})
549
			else
550
				table.insert(CommandButtons, CommandButton)
551
			end
552
			
553
			Run(function()
554
				local ColorNum = 2
555
				local Iter = 2
556
				local CurrentX = 0
557
				local CurrentY = 0
558
				local CurrentZ = 0
559
560
				for i = 1, (math.huge/0.05), 1 do
561
					if ShadowFrame.Parent ~= nil then
562
						local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours]
563
						local ColTab = Colours[ColorNum]
564
						if tostring(CurrentX) ~= tostring(ColTab.X) then
565
							CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02)
566
						end
567
						if tostring(CurrentY) ~= tostring(ColTab.Y) then
568
							CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02)
569
						end
570
						if tostring(CurrentZ) ~= tostring(ColTab.Z) then
571
							CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02)
572
						end
573
						ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ)
574
						if Iter < 1.02 or Iter > 2 then
575
							ColorNum = ColorNum == #Colours and 1 or ColorNum + 1
576
							Iter = 2
577
						else
578
							Iter = Iter - 0.02
579
						end
580
						wait(1/30)
581
					else
582
						break
583
					end
584
				end
585
			end)
586
			
587
			YNum = YNum + 40
588
		end
589
	end
590
	fixScroll(Scroll)
591
	return CommandButtons
592
end
593
594
function makeList(Scroll)
595
	local ListButtons = {}
596
	local CommonList = getCommonList()
597
	
598
	local YNum = 0
599
	for _,v in pairs(CommonList) do
600
		local ListButton = Instance.new("TextButton")
601
		ListButton.Name = v
602
		ListButton.Text = " " .. v
603
		ListButton.Size = UDim2.new(1, 0, 0, 32)
604
		ListButton.Position = UDim2.new(0, 0, 0, YNum)
605
		ListButton.FontSize = "Size14"
606
		ListButton.TextXAlignment = "Left"
607
		ListButton.TextStrokeTransparency = 0.9
608
		ListButton.TextStrokeColor3 = Color3.new(0, 0, 0)
609
		ListButton.TextColor3 = Color3.new(1, 1, 1)
610
		ListButton.BackgroundColor3 = Color3.new(0.16, 0.67, 1)
611
		ListButton.BackgroundTransparency = 0
612
		ListButton.BorderSizePixel = 0
613
		ListButton.Parent = Scroll
614
		
615
		local ShadowFrame = Instance.new("Frame")
616
		ShadowFrame.Name = "ShadowFrame"
617
		ShadowFrame.Size = UDim2.new(1, 0, 0, 4)
618
		ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32)
619
		ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
620
		ShadowFrame.BackgroundTransparency = 0.1
621
		ShadowFrame.BorderSizePixel = 0
622
		ShadowFrame.Parent = Scroll
623
		
624
		table.insert(ListButtons, ListButton)
625
		
626
		Run(function()
627
			local ColorNum = 2
628
			local Iter = 2
629
			local CurrentX = 0
630
			local CurrentY = 0
631
			local CurrentZ = 0
632
633
			for i = 1, (math.huge/0.05), 1 do
634
				if ShadowFrame.Parent ~= nil then
635
					local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours]
636
					local ColTab = Colours[ColorNum]
637
					if tostring(CurrentX) ~= tostring(ColTab.X) then
638
						CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02)
639
					end
640
					if tostring(CurrentY) ~= tostring(ColTab.Y) then
641
						CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02)
642
					end
643
					if tostring(CurrentZ) ~= tostring(ColTab.Z) then
644
						CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02)
645
					end
646
					ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ)
647
					if Iter < 1.02 or Iter > 2 then
648
						ColorNum = ColorNum == #Colours and 1 or ColorNum + 1
649
						Iter = 2
650
					else
651
						Iter = Iter - 0.02
652
					end
653
					wait(1/30)
654
				else
655
					break
656
				end
657
			end
658
		end)
659
		
660
		YNum = YNum + 40
661
	end
662
	fixScroll(Scroll)
663
	return ListButtons
664
end
665
666
function makeButtons(Scroll, Tab, FontSize, TextScaled)
667
	Scroll:ClearAllChildren()
668
	local Buttons = {}
669
	
670
	local YNum = 0
671
	for _,v in pairs(Tab) do
672
		local Button = Instance.new("TextLabel")
673
		Button.Name = v
674
		Button.Text = " " .. v
675
		Button.Size = UDim2.new(1, 0, 0, 32)
676
		Button.Position = UDim2.new(0, 0, 0, YNum)
677
		Button.TextScaled = #v > 60 and TextScaled or false
678
		Button.FontSize = FontSize or "Size14"
679
		Button.TextXAlignment = "Left"
680
		Button.TextStrokeTransparency = 0.9
681
		Button.TextStrokeColor3 = Color3.new(0, 0, 0)
682
		Button.TextColor3 = Color3.new(1, 1, 1)
683
		Button.BackgroundColor3 = Color3.new(0.16, 0.67, 1)
684
		Button.BackgroundTransparency = 0
685
		Button.BorderSizePixel = 0
686
		Button.Parent = Scroll
687
		
688
		local ShadowFrame = Instance.new("Frame")
689
		ShadowFrame.Name = "ShadowFrame"
690
		ShadowFrame.Size = UDim2.new(1, 0, 0, 4)
691
		ShadowFrame.Position = UDim2.new(0, 0, 0, YNum + 32)
692
		ShadowFrame.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
693
		ShadowFrame.BackgroundTransparency = 0.1
694
		ShadowFrame.BorderSizePixel = 0
695
		ShadowFrame.Parent = Scroll
696
		
697
		table.insert(Buttons, Button)
698
		
699
		Run(function()
700
			local ColorNum = 2
701
			local Iter = 2
702
			local CurrentX = 0
703
			local CurrentY = 0
704
			local CurrentZ = 0
705
706
			for i = 1, (math.huge/0.05), 1 do
707
				if ShadowFrame.Parent ~= nil then
708
					local PrevColTab = Colours[ColorNum - 1] or Colours[#Colours]
709
					local ColTab = Colours[ColorNum]
710
					if tostring(CurrentX) ~= tostring(ColTab.X) then
711
						CurrentX = ColTab.X - PrevColTab.X > 0 and CurrentX + 0.02 or (Iter <= 1.02 and 0 or CurrentX - 0.02)
712
					end
713
					if tostring(CurrentY) ~= tostring(ColTab.Y) then
714
						CurrentY = ColTab.Y - PrevColTab.Y > 0 and CurrentY + 0.02 or (Iter <= 1.02 and 0 or CurrentY - 0.02)
715
					end
716
					if tostring(CurrentZ) ~= tostring(ColTab.Z) then
717
						CurrentZ = ColTab.Z - PrevColTab.Z > 0 and CurrentZ + 0.02 or (Iter <= 1.02 and 0 or CurrentZ - 0.02)
718
					end
719
					ShadowFrame.BackgroundColor3 = Color3.new(CurrentX, CurrentY, CurrentZ)
720
					if Iter < 1.02 or Iter > 2 then
721
						ColorNum = ColorNum == #Colours and 1 or ColorNum + 1
722
						Iter = 2
723
					else
724
						Iter = Iter - 0.02
725
					end
726
					wait(1/30)
727
				else
728
					break
729
				end
730
			end
731
		end)
732
		
733
		YNum = YNum + 40
734
	end
735
	fixScroll(Scroll)
736
	return Buttons
737
end
738
739
function removeOptions(ScrollRight, fix)
740
	if fix == true then
741
		return true
742
	else
743
		ScrollRight:ClearAllChildren()
744
		fixScroll(ScrollRight)
745
	end
746
end
747
748
function makePlayerOptions(ScrollRight)
749
	Run(function()
750
		local Sender = LP.Name
751
		local failed = removeOptions(ScrollRight, re)
752
		if failed == nil then
753
			local CommandButtons = makeCommands(1, ScrollRight)
754
			
755
			for _,v in pairs(CommandButtons) do
756
				v[1].MouseButton1Click:connect(function()
757
					local List = {}
758
					for _,v2 in pairs(Selected) do
759
						if v2 ~= "All" then
760
							local selectedPlayer = findPlayer(v2)
761
							if selectedPlayer then
762
								table.insert(List, selectedPlayer)
763
							end
764
						else
765
							List = {}
766
							for _,v3 in pairs(Plrs:GetPlayers()) do
767
								table.insert(List, v3)
768
							end
769
							break
770
						end
771
					end
772
					Sort(List, Sender)
773
					Run(function() v[2].Func(List, v[2].Name) end)
774
				end)
775
			end
776
		end
777
	end)
778
end
779
780
function makeOptions(ScrollRight)
781
	Run(function()
782
		removeOptions(ScrollRight)
783
		local ListButtons = makeList(ScrollRight)
784
		for _,v in pairs(ListButtons) do
785
			v.MouseButton1Click:connect(function()
786
				for _,v2 in pairs(Selected) do
787
					local Command = findCommand(v2)
788
					if Command and not re then
789
						Run(function() Command.Func({v.Name}, Command.Name) end)
790
					end
791
				end
792
			end)
793
		end
794
	end)
795
end
796
797
function openPlayers()
798
	Run(function()
799
		local PlayerButtons = makePlayers(GUIs.ScrollLeft)
800
		
801
		for _,v in pairs(PlayerButtons) do
802
			v.MouseButton1Click:connect(function()
803
				local SelectNum = isSelected(v.Name)
804
				if SelectNum == nil then
805
					v.Box.Text = "X"
806
					table.insert(Selected, v.Name)
807
					makePlayerOptions(GUIs.ScrollRight)
808
				else
809
					v.Box.Text = ""
810
					table.remove(Selected, SelectNum)
811
					if #Selected == 0 then
812
						removeOptions(GUIs.ScrollRight)
813
					else
814
						makePlayerOptions(GUIs.ScrollRight)
815
					end
816
				end
817
			end)
818
		end
819
	end)
820
end
821
822
function openServer()
823
	Run(function()
824
		local CommandButtons = makeCommands(2, GUIs.ScrollLeft)
825
		
826
		for _,v in pairs(CommandButtons) do
827
			v.MouseButton1Click:connect(function()
828
				local SelectNum = isSelected(v.Name)
829
				if SelectNum == nil then
830
					v.Box.Text = "X"
831
					table.insert(Selected, v.Name)
832
					makeOptions(GUIs.ScrollRight)
833
				else
834
					v.Box.Text = ""
835
					table.remove(Selected, SelectNum)
836
					if #Selected == 0 then
837
						removeOptions(GUIs.ScrollRight)
838
					else
839
						makeOptions(GUIs.ScrollRight)
840
					end
841
				end
842
			end)
843
		end
844
	end)
845
end
846
847
function GetTimeDist(OldTick, NewTick)
848
	local TimeType = nil
849
	local Symbol = ""
850
	local Seconds = tonumber(NewTick) - tonumber(OldTick)
851
	local Minutes = Seconds / 60
852
	local Hour = Minutes / 60
853
	local Day = Hour / 24
854
	local Year = Day / 365
855
856
	if Seconds < 60 then
857
		TimeType = math.ceil(Seconds)
858
		Symbol = "s"
859
	elseif Minutes < 60 then
860
		TimeType = math.floor(Minutes)
861
		Symbol = "m"
862
	elseif Hour < 24 then
863
		TimeType = math.floor(Hour)
864
		Symbol = "h"
865
	elseif Day < 365 then
866
		TimeType = math.floor(Day)
867
		Symbol = "d"
868
	else
869
		TimeType = math.floor(Year)
870
		Symbol = "y"
871
	end
872
	
873
	return tostring(TimeType) .. Symbol
874
end
875
876
function openMisc()
877
	Run(function()
878
		local CommandButtons = makeCommands(3, GUIs.ScrollLeft)
879
		
880
		for _,v in pairs(CommandButtons) do
881
			v.MouseButton1Click:connect(function()
882
				local SelectNum = isSelected(v.Name)
883
				if SelectNum == nil then
884
					v.Box.Text = "X"
885
					table.insert(Selected, v.Name)
886
					makeOptions(GUIs.ScrollRight)
887
				else
888
					v.Box.Text = ""
889
					table.remove(Selected, SelectNum)
890
					if #Selected == 0 then
891
						removeOptions(GUIs.ScrollRight)
892
					end
893
				end
894
			end)
895
		end
896
	end)
897
end
898
899
function openSettings()
900
	Run(function()
901
		local CommandButtons = makeCommands(4, GUIs.ScrollLeft)
902
		
903
		for _,v in pairs(CommandButtons) do
904
			v.MouseButton1Click:connect(function()
905
				local SelectNum = isSelected(v.Name)
906
				if SelectNum == nil then
907
					v.Box.Text = "X"
908
					table.insert(Selected, v.Name)
909
					makeOptions(GUIs.ScrollRight)
910
				else
911
					v.Box.Text = ""
912
					table.remove(Selected, SelectNum)
913
					if #Selected == 0 then
914
						removeOptions(GUIs.ScrollRight)
915
					end
916
				end
917
			end)
918
		end
919
	end)
920
end
921
922
function openMenu(Num)
923
	if not isTweening and Num >= 1 and Num <= 4 then
924
		Selected = {}
925
		GUIs.ScrollRight:ClearAllChildren()
926
		GUIs.ScrollLeft:ClearAllChildren()
927
		
928
		fixScroll(GUIs.ScrollRight)
929
		fixScroll(GUIs.ScrollLeft)
930
		
931
		if TweenNum > 0 and TweenTime > 0 then
932
			isTweening = true
933
			GUIs.ScrollLeft.Position = UDim2.new(0, 0, 0, 0) + UDim2.new(0, 0, 0, -TweenNum)
934
			GUIs.ScrollRight.Position = UDim2.new(0, 0, 0, 0) + UDim2.new(0, 0, 0, -TweenNum)
935
			GUIs.BackFrame.Position = UDim2.new(0.5, -(910 / 2), 0, 146) + UDim2.new(0, 0, 0, -TweenNum)
936
			GUIs.BackFrame2.Position = UDim2.new(0.8, -(910 / 2) + 10, 0, 146) + UDim2.new(0, 0, 0, -TweenNum)
937
			
938
			GUIs.ScrollLeft:TweenPosition(GUIs.ScrollRight.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false)
939
			GUIs.ScrollRight:TweenPosition(GUIs.ScrollLeft.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false)
940
			GUIs.BackFrame:TweenPosition(GUIs.BackFrame.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false)
941
			GUIs.BackFrame2:TweenPosition(GUIs.BackFrame2.Position + UDim2.new(0, 0, 0, TweenNum), "Out", "Quad", TweenTime, false)
942
			
943
			Run(function()
944
				wait(TweenTime)
945
				isTweening = false
946
			end)
947
		end
948
		
949
		if Num == 1 then
950
			openPlayers()
951
		elseif Num == 2 then
952
			openServer()
953
		elseif Num == 3 then
954
			openMisc()
955
		elseif Num == 4 then
956
			openSettings()
957
		end
958
	end
959
end
960
961
function Launch()
962
	Run(function()
963
		local PlrGui = LP.PlayerGui
964
		Remove(PlrGui, GuiName)
965
		
966
		GUIs = {}
967
		GUIs.PlrGui = PlrGui
968
		
969
		if isClosed == true then
970
			local OpenGui = Instance.new("ScreenGui", PlrGui)
971
			OpenGui.Name = GuiName
972
			GUIs.OpenGui = ScreenGui
973
			
974
			local Open = Instance.new("TextButton")
975
			Open.Name = "Open"
976
			Open.Size = UDim2.new(0, 22, 0, 22)
977
			Open.Position = UDim2.new(1, -28, 0.4, 0)
978
			Open.Text = "X"
979
			Open.FontSize = "Size18"
980
			Open.TextColor3 = Color3.new(0.16, 0.67, 1)
981
			Open.BackgroundTransparency = 0
982
			Open.BackgroundColor3 = Color3.new(1, 1, 1)
983
			Open.BorderSizePixel = 2
984
			Open.Parent = OpenGui
985
			GUIs.Open = Open
986
			
987
			Open.MouseButton1Click:connect(function()
988
				isClosed = false
989
				Launch()
990
			end)
991
		else
992
			local ScreenGui = Instance.new("ScreenGui", PlrGui)
993
			ScreenGui.Name = GuiName
994
			GUIs.ScreenGui = ScreenGui
995
			
996
			local Base = Instance.new("Frame")
997
			Base.Name = "BaseFrame"
998
			Base.Size = UDim2.new(0, 960, 0, 650)
999
			Base.Position = UDim2.new(0.5, -(960 / 2), 0.075, 0)
1000
			Base.BackgroundColor3 = Color3.new(1, 1, 1)
1001
			Base.BackgroundTransparency = 0
1002
			Base.BorderSizePixel = 0
1003
			Base.Parent = ScreenGui
1004
			GUIs.Base = Base
1005
			
1006
			local Title = Instance.new("ImageLabel")
1007
			Title.Name = "Title"
1008
			Title.Size = UDim2.new(0, 910, 0, 85)
1009
			Title.Position = UDim2.new(0.5, -(910 / 2), 0, 0)
1010
			Title.Image = Assets.Logo
1011
			Title.BorderSizePixel = 0
1012
			Title.Parent = Base
1013
			GUIs.Title = Title
1014
			
1015
			local Close = Instance.new("TextButton")
1016
			Close.Name = "Close"
1017
			Close.Size = UDim2.new(0, 22, 0, 22)
1018
			Close.Position = UDim2.new(1, -28, 0, 5)
1019
			Close.Text = "X"
1020
			Close.FontSize = "Size18"
1021
			Close.TextColor3 = Color3.new(0.16, 0.67, 1)
1022
			Close.BackgroundTransparency = 0
1023
			Close.BackgroundColor3 = Color3.new(1, 1, 1)
1024
			Close.BorderSizePixel = 2
1025
			Close.Parent = Base
1026
			GUIs.Close = Close
1027
			
1028
			local TopMenu = Instance.new("ImageLabel")
1029
			TopMenu.Name = "TopMenu"
1030
			TopMenu.Size = UDim2.new(0, 910, 0, 24)
1031
			TopMenu.Position = UDim2.new(0.5, -(910 / 2), 0, 94)
1032
			TopMenu.Image = Assets.Menu
1033
			TopMenu.BorderSizePixel = 0
1034
			TopMenu.Parent = Base
1035
			GUIs.TopMenu = TopMenu
1036
			
1037
			local Players = Instance.new("TextButton")
1038
			Players.Name = "Players"
1039
			Players.Text = "Players"
1040
			Players.Size = UDim2.new(0.25, 0, 1, 0)
1041
			Players.Position = UDim2.new(0, 0, 0, 0)
1042
			Players.FontSize = "Size12"
1043
			Players.TextStrokeTransparency = 0.5
1044
			Players.TextColor3 = Color3.new(1, 1, 1)
1045
			Players.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
1046
			Players.BackgroundTransparency = 1
1047
			Players.BorderSizePixel = 0
1048
			Players.Parent = TopMenu
1049
			GUIs.Players = Players
1050
			
1051
			local Server = Instance.new("TextButton")
1052
			Server.Name = "Server"
1053
			Server.Text = "Server"
1054
			Server.Size = UDim2.new(0.25, 0, 1, 0)
1055
			Server.Position = UDim2.new(0.25, 0, 0, 0)
1056
			Server.FontSize = "Size12"
1057
			Server.TextStrokeTransparency = 0.5
1058
			Server.TextColor3 = Color3.new(1, 1, 1)
1059
			Server.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
1060
			Server.BackgroundTransparency = 1
1061
			Server.BorderSizePixel = 0
1062
			Server.Parent = TopMenu
1063
			GUIs.Server = Server
1064
			
1065
			local Misc = Instance.new("TextButton")
1066
			Misc.Name = "Misc"
1067
			Misc.Text = "Misc"
1068
			Misc.Size = UDim2.new(0.25, 0, 1, 0)
1069
			Misc.Position = UDim2.new(0.5, 0, 0, 0)
1070
			Misc.FontSize = "Size12"
1071
			Misc.TextStrokeTransparency = 0.5
1072
			Misc.TextColor3 = Color3.new(1, 1, 1)
1073
			Misc.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
1074
			Misc.BackgroundTransparency = 1
1075
			Misc.BorderSizePixel = 0
1076
			Misc.Parent = TopMenu
1077
			GUIs.Misc = Misc
1078
			
1079
			local Settings = Instance.new("TextButton")
1080
			Settings.Name = "Settings"
1081
			Settings.Text = "Settings"
1082
			Settings.Size = UDim2.new(0.25, 0, 1, 0)
1083
			Settings.Position = UDim2.new(0.75, 0, 0, 0)
1084
			Settings.FontSize = "Size12"
1085
			Settings.TextStrokeTransparency = 0.5
1086
			Settings.TextColor3 = Color3.new(1, 1, 1)
1087
			Settings.BackgroundColor3 = Color3.new(0.16, 0.58, 1)
1088
			Settings.BackgroundTransparency = 1
1089
			Settings.BorderSizePixel = 0
1090
			Settings.Parent = TopMenu
1091
			GUIs.Settings = Settings
1092
			
1093
			local BackFrame = Instance.new("Frame")
1094
			BackFrame.Name = "BackFrame"
1095
			BackFrame.Size = UDim2.new(0.3, 0, 1, -203)
1096
			BackFrame.Position = UDim2.new(0.5, -(910 / 2), 0, 146)
1097
			BackFrame.BackgroundTransparency = 0.8
1098
			BackFrame.BackgroundColor3 = Color3.new(1, 1, 1)
1099
			BackFrame.BorderSizePixel = 2
1100
			BackFrame.Parent = Base
1101
			GUIs.BackFrame = BackFrame
1102
			
1103
			local ScrollLeft = Instance.new("ScrollingFrame")
1104
			ScrollLeft.Name = "ScrollLeft"
1105
			ScrollLeft.Size = UDim2.new(1, 0, 1, 3)
1106
			ScrollLeft.CanvasSize = UDim2.new(1, 0, 1, 0)
1107
			ScrollLeft.Position = UDim2.new(0, 0, 0, 0)
1108
			ScrollLeft.BackgroundColor3 = Color3.new(1, 1, 1)
1109
			ScrollLeft.BorderSizePixel = 0
1110
			ScrollLeft.Parent = BackFrame
1111
			GUIs.ScrollLeft = ScrollLeft
1112
			
1113
			local BackFrame2 = Instance.new("Frame")
1114
			BackFrame2.Name = "BackFrame2"
1115
			BackFrame2.Size = UDim2.new(0.6, 36, 1, -203)
1116
			BackFrame2.Position = UDim2.new(0.8, -(910 / 2) + 10, 0, 146)
1117
			BackFrame2.BackgroundTransparency = 0.8
1118
			BackFrame2.BackgroundColor3 = Color3.new(1, 1, 1)
1119
			BackFrame2.BorderSizePixel = 2
1120
			BackFrame2.Parent = Base
1121
			GUIs.BackFrame2 = BackFrame2
1122
			
1123
			local ScrollRight = Instance.new("ScrollingFrame")
1124
			ScrollRight.Name = "ScrollRight"
1125
			ScrollRight.Size = UDim2.new(1, 0, 1, 3)
1126
			ScrollRight.CanvasSize = UDim2.new(1, 0, 1, 0)
1127
			ScrollRight.Position = UDim2.new(0, 0, 0, 0)
1128
			ScrollRight.BackgroundColor3 = Color3.new(1, 1, 1)
1129
			ScrollRight.BorderSizePixel = 0
1130
			ScrollRight.Parent = BackFrame2
1131
			GUIs.ScrollRight = ScrollRight
1132
			
1133
			local Credit = Instance.new("ImageLabel")
1134
			Credit.Name = "Credit"
1135
			Credit.Size = UDim2.new(0, 180, 0, 47)
1136
			Credit.Position = UDim2.new(1, -180, 1, -47)
1137
			Credit.Image = Assets.Credit
1138
			Credit.BorderSizePixel = 0
1139
			Credit.Parent = Base
1140
			GUIs.Credit = Credit
1141
			
1142
			fixScroll(ScrollLeft)
1143
			fixScroll(ScrollRight)
1144
			
1145
			Close.MouseButton1Click:connect(function()
1146
				isClosed = true
1147
				Launch()
1148
			end)
1149
			
1150
			openMenu(1)
1151
			
1152
			Players.MouseButton1Click:connect(function()
1153
				openMenu(1)
1154
			end)
1155
			
1156
			Server.MouseButton1Click:connect(function()
1157
				openMenu(2)
1158
			end)
1159
			
1160
			Misc.MouseButton1Click:connect(function()
1161
				openMenu(3)
1162
			end)
1163
			
1164
			Settings.MouseButton1Click:connect(function()
1165
				openMenu(4)
1166
			end)
1167
		end
1168
	end)
1169
end
1170
1171
function chatFunc(Plr)
1172
	Run(function()
1173
		local Rem = Instance.new("RemoteEvent", Plr)
1174
		Rem.Name = "¬v¬F¬i¬r¬e¬"
1175
		Plr.Chatted:connect(function(Msg)
1176
			local isSilent = false
1177
			local LMsg = Msg:lower()
1178
			if Msg:sub(1, 3) == "/e " then
1179
				isSilent = true
1180
				LMsg = Msg:sub(4):lower()
1181
			end
1182
			PlrTab = {Plr}
1183
			Sort(PlrTab, Plr)
1184
			if LMsg == "//y" and #PlrTab == 0 then
1185
				isSelected(true)
1186
			elseif LMsg == "//n" and #PlrTab == 0 then
1187
				isSelected(false)
1188
			end
1189
			if #Logs >= LogNum then
1190
				table.remove(Logs, 1)
1191
			end
1192
			table.insert(Logs, {Msg, Plr.Name, tick(), isSilent})
1193
		end)
1194
	end)
1195
end
1196
1197
for _,v in pairs(Plrs:GetPlayers()) do
1198
	if (isTesting) or (isSB and v.Name == Owner) or (isGame and v.userId == Owner) then
1199
		LP = v
1200
		print("Found Owner (" .. LP.Name .. ")")
1201
		chatFunc(v)
1202
		onAdded(v)
1203
	elseif (Banned[v.Name] or v.AccountAge < 90) then
1204
		local Ok, Err = pcall(function() v:Kick() end)
1205
		if not Ok then
1206
			pcall(function() Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) end)
1207
		end
1208
		print("Crashing: " .. v.Name)
1209
	else
1210
		chatFunc(v)
1211
	end
1212
end
1213
1214
Plrs.PlayerAdded:connect(function(Plr)
1215
	Run(function()
1216
		if (isTesting) or (isSB and Plr.Name == Owner) or (isGame and Plr.userId == Owner) then
1217
			for _,v in pairs(Cons) do
1218
				pcall(function() v:disconnect() end)
1219
			end
1220
			Cons = {}
1221
			GUIs = {}
1222
			LP = Plr
1223
			print("Found Owner (" .. LP.Name .. ")")
1224
			chatFunc(Plr)
1225
			onAdded(Plr)
1226
		elseif (Banned[Plr.Name] or Plr.AccountAge < 90) then
1227
			local Ok, Err = pcall(function() Plr:Kick() end)
1228
			if not Ok then
1229
				pcall(function() Instance.new("RemoteEvent", Plr):FireClient(Plr,{[string.rep("a",2e5+5)]="a"}) end)
1230
			end
1231
			print("Crashing: " .. Plr.Name)
1232
		else
1233
			chatFunc(Plr)
1234
		end
1235
		pcall(function() print(Plr.Name, Plr.AccountAge) end)
1236
	end)
1237
end)
1238
1239
Plrs.PlayerRemoving:connect(function(Plr)
1240
	Run(function()
1241
		if LP and Plr == LP then
1242
			print("Disconnected")
1243
			LP = nil
1244
			for _,v in pairs(Cons) do
1245
				pcall(function() v:disconnect() end)
1246
			end
1247
			Cons = {}
1248
			GUIs = {}
1249
		end
1250
	end)
1251
end)
1252
1253
Run(function()
1254
	repeat wait(1/30) until checkedData
1255
	while wait(waitTimeBan) do
1256
		if isBan then
1257
			ypcall(function()
1258
				local Source = HServer:GetAsync(BanLink, true)
1259
				if Source ~= nil and type(Source) == "string" and Source ~= "" and Source ~= BanPage then
1260
					BanPage = Source
1261
					local NewBanned = {}
1262
					for Name in BanPage:gmatch("%w+") do
1263
						NewBanned[Name] = true
1264
					end
1265
					Banned = NewBanned
1266
					print("Updated Ban List!")
1267
					coroutine.wrap(function()
1268
						for _,v in pairs(Plrs:GetPlayers()) do
1269
							if Banned[v.Name] then
1270
								local Ok, Err = pcall(function() v:Kick() end)
1271
								if not Ok then
1272
									pcall(function() Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"}) end)
1273
								end
1274
								print("Crashing: " .. v.Name)
1275
							end
1276
						end
1277
					end)()
1278
				end
1279
			end)
1280
		end
1281
	end
1282
end)
1283
1284
Run(function()
1285
	repeat wait(1/30) until checkedData
1286
	while wait(waitTime) do
1287
		if isRemote then
1288
			ypcall(function()
1289
				local Source = HServer:GetAsync(RemoteLink, true)
1290
				if Source ~= RemotePage then
1291
					RemotePage = Source
1292
					if Source:sub(1, 6):lower() == "[fast]" then
1293
						Source = Source:sub(8)
1294
						waitTime = 0.5
1295
						waitTimeBan = 2
1296
						Hint("Switched to fast")
1297
					elseif Source:sub(1, 6):lower() == "[slow]" then
1298
						Source = Source:sub(8)
1299
						waitTime = 5
1300
						waitTimeBan = 5
1301
						Hint("Switched to slow")
1302
					end
1303
					if Source:sub(1, 4):lower() == "[l] " then
1304
						for _,v in pairs(game:GetService("Players"):GetPlayers()) do
1305
							if v.Character and v.Character.Parent == Workspace then
1306
								local Ok, Err = coroutine.resume(coroutine.create(function() 
1307
									NLS(Source:sub(5), v.Character)
1308
								end))
1309
								if Ok then
1310
									print("[S] Script Ran")
1311
								else
1312
									print("[S] Error: " .. Err)
1313
								end
1314
							end
1315
						end
1316
					elseif Source:sub(1, 4):lower() == "[e] " then
1317
						local Func, Err = loadstring(tostring((Source:sub(5))))
1318
						if Func then
1319
							local Success, Err = ypcall(Func)
1320
							if Success then
1321
								print("[E] Script Ran")
1322
							elseif Err then
1323
								print("[E] Error: " .. Err)
1324
							end
1325
						elseif Err then
1326
							print("[E] Error: " .. Err)
1327
						end
1328
					elseif Source:sub(1, 4):lower() == "msg " then
1329
						local Msg = Instance.new("Message", Workspace)
1330
						Msg.Name = "TestHint"
1331
						Msg.Text = Source:sub(5)
1332
						wait(5)
1333
						pcall(function() Msg:Destroy() end)
1334
					else
1335
						local Ok, Err = coroutine.resume(coroutine.create(function()
1336
							NS(Source, Workspace)
1337
						end))
1338
						if Ok then
1339
							print("[S] Script Ran")
1340
						else
1341
							print("[S] Error: " .. Err)
1342
						end
1343
					end
1344
				end
1345
			end)
1346
		end
1347
	end
1348
end)
1349
1350
function Create(Name, Type, Func, List)
1351
	table.insert(Commands, {
1352
		Name = Name or "N/A";
1353
		Type = Type or 3;
1354
		Func = Func or function() Hint("[" .. Name .. "] No Function Found") end;
1355
		List = List or nil;
1356
	})
1357
end
1358
1359
Create(
1360
	"Kill", 1,
1361
	function(List, Command)
1362
		for _,v in pairs(List) do
1363
			Run(function()
1364
				if hasCharacter(v) then
1365
					v.Character:BreakJoints()
1366
				else
1367
					v:LoadCharacter()
1368
					repeat wait(1/30) until hasCharacter(v)
1369
					v.Character:BreakJoints()
1370
				end
1371
			end)
1372
		end
1373
	end
1374
)
1375
1376
Create(
1377
	"Rejoin", 1,
1378
	function(List, Command)
1379
		for _,v in pairs(List) do
1380
			Run(function()
1381
				NLS([[game:GetService("TeleportService"):Teleport(game.PlaceId)]], v.Character or v.PlayerGui or v.Backpack or nil)
1382
			end)
1383
		end
1384
	end
1385
)
1386
1387
1388
Create(
1389
	"Loopkill", 1,
1390
	function(List, Command)
1391
		for _,v in pairs(List) do
1392
			Run(function()
1393
				Loopkill[v.Name] = true
1394
				local VName = v.Name
1395
				while Loopkill[v.Name] do
1396
					if hasCharacter(v) then
1397
						v.Character:BreakJoints()
1398
					elseif v and v.Parent ~= nil then
1399
						v:LoadCharacter()
1400
						repeat wait(1/30) until hasCharacter(v)
1401
						v.Character:BreakJoints()
1402
					elseif Plrs:findFirstChild(VName) then
1403
						v = Plrs[VName]
1404
					end
1405
					wait(.1)
1406
				end
1407
			end)
1408
		end
1409
	end
1410
)
1411
1412
Create(
1413
	"UnLoopkill", 1,
1414
	function(List, Command)
1415
		for _,v in pairs(List) do
1416
			Run(function()
1417
				Loopkill[v.Name] = nil
1418
			end)
1419
		end
1420
	end
1421
)
1422
1423
Create(
1424
	"Reset", 1,
1425
	function(List, Command)
1426
		for _,v in pairs(List) do
1427
			v:LoadCharacter()
1428
		end
1429
	end
1430
)
1431
1432
Create(
1433
	"Kick (Crash)", 1,
1434
	function(List, Command)
1435
		for _,v in pairs(List) do
1436
			local Ok, Err = pcall(function() v:Kick() end)
1437
			if not Ok then
1438
				if v:findFirstChild("¬v¬F¬i¬r¬e¬") and v["¬v¬F¬i¬r¬e¬"]:IsA("RemoteEvent") then
1439
					v["¬v¬F¬i¬r¬e¬"]:FireClient(v,{[string.rep("a",2e5+5)]="a"})
1440
					print("Fired Injected")
1441
				else
1442
					Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"})
1443
					print("Fired New")
1444
				end
1445
			else
1446
				print("Crashed")
1447
			end
1448
		end
1449
	end
1450
)
1451
1452
Create(
1453
	"Kick (Error)", 1,
1454
	function(List, Command)
1455
		for _,v in pairs(List) do
1456
			local Sound = Instance.new("Sound", v)
1457
			Sound.SoundId = "rbxassetid://83594623"
1458
			Sound:Play()
1459
			print("[E]", v.Name)
1460
		end
1461
	end
1462
)
1463
1464
Create(
1465
	"Logs", 1,
1466
	function(List, Command)
1467
		local LogTab = {}
1468
		local PlrNames = {}
1469
		for _,v in pairs(List) do
1470
			PlrNames[v.Name] = true
1471
		end
1472
		for i = #Logs, 1, -1 do
1473
			local Log = Logs[i]
1474
			if PlrNames[Log[2]] then
1475
				local TimeDist = GetTimeDist(Log[3], tick())
1476
				local Msg = Log[1]:gsub("\n", "; ")
1477
				table.insert(LogTab, "[" .. TimeDist .. "] [" .. Log[2] .. "] " .. Msg)
1478
			end
1479
		end
1480
		if GUIs.ScrollRight then
1481
			makeButtons(GUIs.ScrollRight, LogTab, "Size12", true)
1482
		end
1483
	end,
1484
	function()
1485
		local Players = getPlayers()
1486
		table.insert(Players, "All")
1487
		return Players
1488
	end
1489
)
1490
1491
Create(
1492
	"Silent Logs", 1,
1493
	function(List, Command)
1494
		local LogTab = {}
1495
		local PlrNames = {}
1496
		for _,v in pairs(List) do
1497
			PlrNames[v.Name] = true
1498
		end
1499
		for i = #Logs, 1, -1 do
1500
			local Log = Logs[i]
1501
			if PlrNames[Log[2]] and Log[4] == true then
1502
				local TimeDist = GetTimeDist(Log[3], tick())
1503
				local Msg = Log[1]:gsub("\n", "; ")
1504
				table.insert(LogTab, "[" .. TimeDist .. "] [" .. Log[2] .. "] " .. Msg)
1505
			end
1506
		end
1507
		if GUIs.ScrollRight then
1508
			makeButtons(GUIs.ScrollRight, LogTab, "Size12", true)
1509
		end
1510
	end,
1511
	function()
1512
		local Players = getPlayers()
1513
		table.insert(Players, "All")
1514
		return Players
1515
	end
1516
)
1517
1518
Create(
1519
	"God", 1,
1520
	function(List, Command)
1521
		for _,v in pairs(List) do
1522
			if hasCharacter(v) and v.Character:findFirstChild("Humanoid") then
1523
				v.Character.Humanoid.MaxHealth = math.huge
1524
			end
1525
		end
1526
	end
1527
)
1528
1529
Create(
1530
	"ForceField", 1,
1531
	function(List, Command)
1532
		for _,v in pairs(List) do
1533
			if hasCharacter(v) then
1534
				Instance.new("ForceField", v.Character)
1535
			end
1536
		end
1537
	end
1538
)
1539
1540
Create(
1541
	"UnForceField", 1,
1542
	function(List, Command)
1543
		for _,v in pairs(List) do
1544
			if hasCharacter(v) then
1545
				for _,v2 in pairs(v.Character:GetChildren()) do
1546
					if v2:IsA("ForceField") then
1547
						v2:Destroy()
1548
					end
1549
				end
1550
			end
1551
		end
1552
	end
1553
)
1554
1555
Create(
1556
	"Explode", 1,
1557
	function(List, Command)
1558
		for _,v in pairs(List) do
1559
			if hasCharacter(v) then
1560
				local Ex = Instance.new("Explosion", Workspace)
1561
				Ex.Position = v.Character.Torso.CFrame.p
1562
				Ex.BlastRadius = 6
1563
				Ex.DestroyJointRadiusPercent = 1
1564
			end
1565
		end
1566
	end
1567
)
1568
1569
Create(
1570
	"Blast", 1,
1571
	function(List, Command)
1572
		for _,v in pairs(List) do
1573
			if hasCharacter(v) then
1574
				local Ex = Instance.new("Explosion", Workspace)
1575
				Ex.Position = v.Character.Torso.CFrame.p
1576
				Ex.BlastPressure = 5000000
1577
				Ex.BlastRadius = 20
1578
				Ex.DestroyJointRadiusPercent = 0
1579
			end
1580
		end
1581
	end
1582
)
1583
1584
Create(
1585
	"Fling", 1,
1586
	function(List, Command)
1587
		for _,v in pairs(List) do
1588
			if hasCharacter(v) then
1589
				v.Character.Torso.Velocity = v.Character.Torso.CFrame.lookVector * Grav * 1.1
1590
			end
1591
		end
1592
	end
1593
)
1594
1595
Create(
1596
	"Fix Character", 1,
1597
	function(List, Command)
1598
		for _,v in pairs(List) do
1599
			v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=" .. v.userId
1600
			v:LoadCharacter()
1601
		end
1602
	end
1603
)
1604
1605
Create(
1606
	"Fix Humanoid", 1,
1607
	function(List, Command)
1608
		for _,v in pairs(List) do
1609
			if hasCharacter(v) then
1610
				local fixedHumanoid = false
1611
				for _,v2 in pairs(v.Character:GetChildren()) do
1612
					if v2:IsA("Humanoid") then
1613
						v2.Name = "Humanoid"
1614
						fixedHumanoid = true
1615
					end
1616
				end
1617
				if fixedHumanoid == false then
1618
					Instance.new("Humanoid", v.Character).Name = "Humanoid"
1619
				end
1620
			end
1621
		end
1622
	end
1623
)
1624
1625
Create(
1626
	"Clean", 2,
1627
	function(List, Command)
1628
		for _,v in pairs(game:GetChildren()) do
1629
			ypcall(function()
1630
				if v.Name ~= "Workspace" and v.Name ~= "Players" and v.Name ~= "NetworkServer" and v.Name ~= "StarterPlayer" then
1631
					for _,v2 in pairs(v:GetChildren()) do
1632
						pcall(function()
1633
							v2:Destroy()
1634
						end)
1635
					end
1636
				elseif v.Name == "Players" then
1637
					for _,v2 in pairs(v:GetChildren()) do
1638
						if v2.ClassName == "Player" then
1639
							ypcall(function()
1640
								Clear(v2)
1641
							end)
1642
						else
1643
							pcall(function()
1644
								v2:Destroy()
1645
							end)
1646
						end
1647
					end
1648
				end
1649
			end)
1650
		end
1651
		Clean()
1652
	end,
1653
	function() return {"SERVER"} end
1654
)
1655
1656
Create(
1657
	"Shutdown", 2,
1658
	function(List, Command)
1659
		coroutine.resume(coroutine.create(function()
1660
			for _,v in pairs(game:GetChildren()) do
1661
				ypcall(function()
1662
					if v.Name ~= "Workspace" and v.Name ~= "Players" and v.Name ~= "NetworkServer" and v.Name ~= "StarterPlayer" then
1663
						for _,v2 in pairs(v:GetChildren()) do
1664
							pcall(function()
1665
								v2:Destroy()
1666
							end)
1667
						end
1668
					elseif v.Name == "Players" then
1669
						for _,v2 in pairs(v:GetChildren()) do
1670
							if v2.ClassName == "Player" then
1671
								ypcall(function()
1672
									Clear(v2)
1673
								end)
1674
							else
1675
								pcall(function()
1676
									v2:Destroy()
1677
								end)
1678
							end
1679
						end
1680
					end
1681
				end)
1682
			end
1683
			Clean(true)
1684
		end))
1685
		while wait(1/30) do
1686
			ypcall(function()
1687
				for _,v in pairs(game:GetService("Players"):GetPlayers()) do
1688
					ypcall(function()
1689
						Instance.new("RemoteEvent", v):FireClient(v,{[string.rep("a",2e5+5)]="a"})
1690
					end)
1691
				end
1692
			end)
1693
		end
1694
	end,
1695
	function() return {"SERVER"} end
1696
)
1697
--[[
1698
local CurrentObj = game
1699
local Children = {}
1700
local ChosenEffect = function() end
1701
local TopServices = {
1702
	"Workspace";
1703
	"Players";
1704
	"Lighting";
1705
	"ServerStorage";
1706
	"ServerScriptService";
1707
	"ReplicatedStorage";
1708
	"NetworkServer";
1709
	"Teams";
1710
	"StarterPlayer";
1711
	"StarterGui";
1712
	"StarterPack";
1713
	"SoundService";
1714
	"Debris";
1715
	"LogService";
1716
	"HttpService";
1717
}
1718
1719
Create( --Left: Effects | Right: Children
1720
	"Explore", 2,
1721
	function(List, Command)
1722
		ChosenEffect()
1723
	end,
1724
	function()
1725
		pcall(function()
1726
			if CurrentObj == nil or not CurrentObj:IsDescendantOf(game) then
1727
				CurrentObj = game
1728
			end
1729
		end)
1730
		Children = {}
1731
		local StringChildren = {}
1732
		local TopAdded = {}
1733
		if CurrentObj == game then
1734
			for _,v in pairs(TopServices) do
1735
				pcall(function()
1736
					if CurrentObj[v] then
1737
						table.insert(Children, CurrentObj[v])
1738
						TopAdded[v] = true
1739
					end
1740
				end)
1741
			end
1742
		end
1743
		print(#Children)
1744
		for _,v in pairs(CurrentObj:GetChildren()) do
1745
			pcall(function()
1746
				if CurrentObj ~= game then
1747
					table.insert(Children, v)
1748
				elseif TopAdded[v.Name] == nil then
1749
					table.insert(Children, v)
1750
				end
1751
			end)
1752
		end
1753
		print(#Children, #game:GetChildren())
1754
		for _,v in pairs(Children) do
1755
			pcall(function()
1756
				table.insert(StringChildren, v.Name)
1757
			end)
1758
		end
1759
		return StringChildren
1760
	end
1761
)
1762
]]
1763
Create(
1764
	"CharacterAutoLoads", 3,
1765
	function(List, Command)
1766
		if List[1] == "True" then
1767
			Plrs.CharacterAutoLoads = true
1768
		elseif List[1] == "False" then
1769
			Plrs.CharacterAutoLoads = false
1770
		end
1771
	end,
1772
	function() return {"True", "False"} end
1773
)
1774
1775
Create(
1776
	"Tween Distance", 4,
1777
	function(List, Command)
1778
		TweenNum = tonumber(List[1])
1779
	end,
1780
	function() return {"0", "10", "20", "50", "100", "200", "500", "700"} end
1781
)
1782
1783
Create(
1784
	"Tween Time", 4,
1785
	function(List, Command)
1786
		TweenTime = tonumber(List[1])
1787
	end,
1788
	function() return {"0.03", "0.1", "0.5", "1", "2", "5"} end
1789
)
1790
1791
Create(
1792
	"Logs Saved", 4,
1793
	function(List, Command)
1794
		LogNum = tonumber(List[1])
1795
	end,
1796
	function() return {"5", "20", "30", "50", "100", "200", "500", "1000", "2000"} end
1797
)