View difference between Paste ID: FFCv968B and Bcw3UQ2u
SHOW: | | - or go back to the newest paste.
1
game.StarterGui:SetCore("ChatMakeSystemMessage", {
2
    Text = "Creat By = Fauzan640!!";
3
    Font = Enum.Font.ArialBold; --Arial, Cartoon, ArialBold, etc
4
    Color = Color3.new(255, 255, 0);    
5
   FontSize = Enum.FontSize.Size8;
6
})
7
wait(2)
8
--Phantom Forces script
9
--EmperorNooget
10
																																																								local World = game:GetService('Workspace');
11
local Input = game:GetService('UserInputService');
12
local Lighting = game:GetService("Lighting");
13
local Players = game:GetService('Players');
14
local Player = Players['LocalPlayer'];
15
16
local Keys = {}
17
local Misc = {
18
	CharFunctions = getmetatable(newproxy(true));
19
	GUIColors = {
20
		On = Color3.fromRGB(46, 105, 132);
21
		Off = Color3.new(.38, .38, .38);
22
	};
23
	
24
	ChamsColors = {
25
		{'White', Color3.new(1, 1, 1)};
26
		{'Black', Color3.new(0, 0, 0)};
27
		{'Red', Color3.new(1, 0, 0)};
28
		{'Green', Color3.new(0, 1, 0)};
29
		{'Blue', Color3.new(0, 0, 1)};
30
		{'Purple', Color3.new(0.65, 0, 0.65)};
31
		{'Yellow',  Color3.new(1, 1, 0)};
32
		{'Grey', Color3.new(0.8, 0.8, 0.8)};
33
	}
34
}
35
36
local function GetFunc(t, i)
37
	for __, ___ in next, (t) do
38
		if string.lower(i):match(__:lower()) then
39
			return ___, __
40
		end
41
	end
42
end
43
44
local function GetColor(t, i)
45
	for __, ___ in next, (t) do
46
		if (___[1] == i) then
47
			return ___, __
48
		elseif (___[2] == i) then
49
			return ___, __
50
		end
51
	end
52
end
53
54
local Settings = {
55
	{'Menu', false, Enum.KeyCode.Delete};
56
	{'Team Chams [\'COLOR\']', true, 'Toggle'};
57
	{'Enemy Chams [\'COLOR\']', true, 'Toggle'};
58
	{'Chams Transparency', false, '0'};
59
	{'Fullbright', true, 'MAX'};
60
	-- {'ESP', true, 'N/A'};
61
	{'Aimbot [Not PF]', true, 'Toggle'};
62
}
63
64
------------ [[ GUI SPAWN ]] ------------
65
FormAssets = function()
66
	------ ERROR MAGIC ------
67
	local __ERROR__ = Instance.new('BindableEvent')
68
	__ERROR__['Event']:Connect(error)
69
	
70
	--------- CREATE FUNCTION ---------
71
	local create = function(class, parent) 
72
		local instance = Instance.new(class);
73
		return function(props)
74
			for property, value in next, (props) do
75
				if (property ~= 'Parent') and (typeof(value) ~= 'Instance') then
76
					local suc, err = pcall(function()
77
						instance[property] = value
78
					end)
79
					if not suc then __ERROR__:Fire('[Script->Asset]: ' .. err) end
80
					
81
				elseif (property == 'Parent') then
82
					parent = value
83
				end
84
			end
85
			
86
			if parent and (typeof(parent) == 'Instance') then
87
				instance['Parent'] = parent
88
			end
89
			
90
			return instance
91
		end
92
	end
93
	
94
	-------------------------------------
95
	-------------------------------------
96
	-- SOME THINGS MAY BE OUT OF ORDER --
97
	----(INSTANCE RELATED PROPERTIES)----
98
	-------------(UNLIKELY)--------------
99
	-------------------------------------
100
	-------------------------------------
101
102
	local Main = create('ScreenGui'){
103
		Name = "Fauzan640 - Menu"
104
	}
105
	
106
	local Folder = create('Folder', Main){
107
		Name = 'Chams'
108
	}
109
	
110
	local Folder1 = create('Folder', Folder){
111
		Name = 'Team'
112
	}
113
	
114
	local Folder2 = create('Folder', Folder){
115
		Name = 'Enemy'
116
	}
117
	
118
	local Frame = create('Frame', Main){
119
		Name = "Main";
120
		BackgroundColor3 = Color3.new(1, 1, 1);
121
		BackgroundTransparency = 1;
122
		Position = UDim2.new(0.5, 0, 0.5, 0);
123
		Size = UDim2.new(0, 250, 0, 190);
124
		Draggable = true;
125
		Active = true;
126
		AnchorPoint = Vector2.new(0.5, 0.5);
127
		Transparency = 1
128
	}
129
	
130
	local TextLabel = create('TextLabel', Frame){
131
		Name = "Title";
132
		BackgroundColor3 = Color3.new(0.180392, 0.411765, 0.517647);
133
		BorderSizePixel = 0;
134
		Size = UDim2.new(1, 0, 0, 35);
135
		Text = "Fauzan640";
136
		TextColor3 = Color3.new(0.866667, 0.843137, 0.843137);
137
		Font = Enum.Font.SciFi;
138
		FontSize = Enum.FontSize.Size28;
139
		TextWrapped = true
140
	}
141
	
142
	local ScrollingFrame = create('ScrollingFrame', Frame){
143
		Name = "Buttons";
144
		BackgroundColor3 = Color3.new(1, 1, 1);
145
		BackgroundTransparency = 1;
146
		BorderSizePixel = 0;
147
		Position = UDim2.new(0.5, 0, 0, 40);
148
		CanvasSize = UDim2.new(0, 0, 0, 0);
149
		Size = UDim2.new(1, 0, 0, 260);
150
		AnchorPoint = Vector2.new(0.5, 0);
151
		Transparency = 1
152
	}
153
	
154
	local Frame1 = create('Frame'){
155
		BackgroundColor3 = Color3.new(1, 1, 1);
156
		BackgroundTransparency = 1;
157
		BorderSizePixel = 0;
158
		Position = UDim2.new(0, 0, 0, 1);
159
		Selectable = true;
160
		Size = UDim2.new(1, 0, 0, 25);
161
		ClipsDescendants = true;
162
		Transparency = 1
163
	}
164
	
165
	local TextLabel1 = create('TextButton', Frame1){
166
		Name = "Text";
167
		BackgroundColor3 = Color3.new(1, 1, 1);
168
		BorderColor3 = Color3.new(0.180392, 0.411765, 0.517647);
169
		Position = UDim2.new(0.100000001, 0, 0, 0);
170
		Size = UDim2.new(0.600000024, 0, 1, 0);
171
		Text = "Example";
172
		TextColor3 = Color3.new(0.180392, 0.411765, 0.517647);
173
		Font = Enum.Font.SciFi;
174
		FontSize = Enum.FontSize.Size14
175
	}
176
	
177
	local Frame2 = create('Frame', Frame1){
178
		Name = "Status";
179
		BackgroundColor3 = Color3.new(0, 1, 0);
180
		BorderSizePixel = 0;
181
		Position = UDim2.new(0.0250000004, 0, 0.5, 0);
182
		Size = UDim2.new(0, 7, 0, 7);
183
		Style = Enum.FrameStyle.DropShadow;
184
		AnchorPoint = Vector2.new(0, 0.5)
185
	}
186
	
187
	local TextButton = create('TextButton', Frame1){
188
		Name = "Key";
189
		BackgroundColor3 = Color3.new(0.180392, 0.411765, 0.517647);
190
		BackgroundTransparency = 0.5;
191
		BorderSizePixel = 0;
192
		Position = UDim2.new(0.699999988, 0, 0, 0);
193
		Size = UDim2.new(0.300000012, 0, 1, 0);
194
		Text = "[EXAMPLE]";
195
		TextColor3 = Color3.new(0.839216, 0.839216, 0.839216);
196
		Font = Enum.Font.SciFi;
197
		FontSize = Enum.FontSize.Size14;
198
		TextStrokeColor3 = Color3.new(0.380392, 0.380392, 0.380392);
199
		TextStrokeTransparency = 0;
200
		Transparency = 0.5
201
	}
202
	
203
	local UIListLayout = create('UIListLayout', ScrollingFrame){
204
		Padding = UDim.new(0, 4);
205
		HorizontalAlignment = Enum.HorizontalAlignment.Center
206
	}
207
	
208
	local UIPadding = create('UIPadding', ScrollingFrame){}
209
210
	
211
	return create, Main, Frame1, Folder
212
end
213
214
local Create, Menu, Button, Chams = FormAssets()
215
local TDB = false
216
local EDB = false
217
local Functions = {
218
	['Menu'] = function()
219
		Menu['Enabled'] = not (Menu['Enabled']);
220
	end;
221
	
222
	['Team Chams'] = function()
223
		if TDB then return end
224
		TDB = true
225
		Settings['TCO'] = not (Settings['TCO'])
226
		if Settings['TCO'] then
227
			Misc['CharFunctions']
228
			['TCCH'] = function(char)
229
				local Target = Players:GetPlayerFromCharacter(char)
230
				if (Target == Player) or (Target.TeamColor ~= Player.TeamColor) then return end
231
				
232
				local Folder = Chams['Team']:FindFirstChild(Target['Name'])
233
					or Create('Folder', Chams['Team']){Name = Target['Name']}
234
					
235
				for __, part in next, (char:GetChildren()) do
236
					if part:IsA('BasePart') then
237
						Create('BoxHandleAdornment', Folder)
238
						{
239
							Name = part.Name .. '_CHAM';
240
							Color3 = Settings['TCC'][2];
241
							AlwaysOnTop = true;
242
							Transparency = Settings['CT'];
243
							Visible = true;
244
							ZIndex = 10;
245
							
246
							Size = (part['Name'] == 'Head' and Vector3.new(1.25, 1.3, 1.25))
247
								or (Vector3.new(.5, .5, .5) + part.Size)
248
						}['Adornee'] = part
249
					end
250
				end
251
			end
252
		elseif Misc['CharFunctions']['TCCH'] then
253
			Misc['CharFunctions']['TCCH'] = nil
254
			Chams['Team']:ClearAllChildren()
255
		end
256
		TDB = false
257
	end;
258
	
259
	['Enemy Chams'] = function()
260
		if EDB then return end
261
		EDB = true
262
		Settings['ECO'] = not (Settings['ECO'])
263
		if Settings['ECO'] then
264
			Misc['CharFunctions']
265
			['ECCH'] = function(char)
266
				local Target = Players:GetPlayerFromCharacter(char)
267
				if (Target == Player) or (Target.TeamColor == Player.TeamColor) then return end
268
				
269
				local Folder = Chams['Enemy']:FindFirstChild(Target['Name'])
270
					or Create('Folder', Chams['Enemy']){Name = Target['Name']}
271
				
272
				for __, part in next, (char:GetChildren()) do
273
					if part:IsA('BasePart') then
274
						Create('BoxHandleAdornment', Folder)
275
						{
276
							Name = part.Name .. '_CHAM';
277
							Color3 = Settings['ECC'][2];
278
							AlwaysOnTop = true;
279
							Transparency = Settings['CT'];
280
							Visible = true;
281
							ZIndex = 10;
282
							
283
							Size = (part['Name'] == 'Head' and Vector3.new(1.25, 1.3, 1.25))
284
								or (Vector3.new(.5, .5, .5) + part.Size)
285
						}['Adornee'] = part
286
					end
287
				end
288
			end
289
		elseif Misc['CharFunctions']['ECCH'] then
290
			Misc['CharFunctions']['ECCH'] = nil
291
			Chams['Enemy']:ClearAllChildren()
292
		end
293
		EDB = false
294
	end;
295
	
296
	['Chams Transparency'] = function(t)
297
		if t then
298
			local Trans = Settings['CT']
299
			Settings['CT'] = (Trans < .8 and Trans + (1/10)) or 0 
300
		end
301
		
302
		local TeamCham = Chams['Team']:GetChildren()
303
		local EnemyCham = Chams['Enemy']:GetChildren()
304
		
305
		for __, object in next, (TeamCham) do
306
			for __, bha in next, (object:GetChildren()) do
307
				bha.Transparency = Settings['CT']
308
				bha.Color3 = Settings['TCC'][2]
309
			end
310
		end
311
		
312
		for __, object in next, (EnemyCham) do
313
			for __, bha in next, (object:GetChildren()) do
314
				bha.Transparency = Settings['CT']
315
				bha.Color3 = Settings['ECC'][2]
316
			end
317
		end
318
		
319
		Menu['Main']['Buttons']['Frans']['Key'].Text = '[' .. tostring(Settings['CT']) .. ']'
320
	end;
321
	
322
	['Fullbright'] = function(Toggle, TextBox)
323
		local Fullbright = Settings.Fullbright		
324
		if Toggle then Fullbright.On = not (Fullbright.On); end
325
		
326
		local function Handle()
327
			local Setting = Fullbright.Options[Fullbright.Current]
328
			local Settings = Fullbright.OptionDefs[Setting]
329
			
330
			
331
			TextBox['Text'] = '[' .. Setting .. ']'
332
			Lighting.Ambient = Settings.InAmbience;
333
			Lighting.OutdoorAmbient = Settings.OutAmbience;
334
			Lighting.Brightness = Settings.Brightness;
335
			Lighting.FogStart = Settings.Fog;
336
			Lighting.FogEnd = Settings.Fog;
337
		end		
338
		
339
		if (not Fullbright.On) then
340
			Fullbright.Current = 3
341
		end
342
		
343
		Handle()
344
	end;
345
	
346
	['Aimbot'] = function(l)
347
		l:Destroy()
348
		
349
		local IgnorePlayersNamed = {NAME=true} -- Name = true or false
350
		--[[
351
			[J] - To go down the list.
352
			[U] - To go up the list.
353
			[H] - To toggle that item in the list.
354
			[RMB] - To aim at your target using the current settings. (THIS UPDATES IN LIVE TIME SO YOU DON'T HAVE TO STOP AIMING FOR IT TO TAKE EFFECT)
355
		--]]
356
		
357
		local services	= setmetatable({
358
				World   = game:GetService('Workspace');
359
				Players = game:GetService('Players');
360
				Input	= game:GetService('UserInputService');
361
				Run 	= game:GetService('RunService');
362
				UI		= game:GetService('StarterGui');
363
			},{
364
			__index					= function(tab,index)
365
				local serv
366
				local ran,err		= pcall(function() serv=game:service(index) end)
367
				if ran then
368
					tab[index]		= serv
369
					return serv
370
				end
371
			end
372
		})
373
		
374
		local cre = Create
375
		local ResizeUI = function(ui,downscale,byclass)
376
			if not rawequal(ui['ClassName'],'ScrollingFrame') then return end
377
			
378
			local count = 0;	
379
			for __, asset in next, (ui:GetChildren()) do
380
				if rawequal(asset['ClassName'],byclass) then
381
					count = count + 1
382
				end
383
			end
384
			
385
			ui['CanvasSize'] = UDim2.new(ui.CanvasSize.X.Scale,ui.CanvasSize.X.Offset,ui.CanvasSize.Y.Scale,downscale*count)
386
		end
387
		
388
		local wfc, ffc, ffoc, cast, ray = services.World.WaitForChild, services.World.FindFirstChild, services.World.FindFirstChildOfClass, services.World.FindPartOnRayWithIgnoreList, Ray.new
389
		local wfcoc = function(p,class)
390
			local obj
391
			repeat services.Run.RenderStepped:wait() 
392
				obj = p:FindFirstChildOfClass(class)
393
			until obj
394
			return obj
395
		end
396
		
397
		local Client = services.Players.LocalPlayer
398
		local ClientUI = wfc(Client,'PlayerGui')
399
		local ClientMouse = Client:GetMouse()
400
		local ClientModel = Client.Character or Client.CharacterAdded:wait()
401
		local ClientCamera = services.World.CurrentCamera
402
		local ClientHumanoid = wfcoc(ClientModel,'Humanoid')
403
		local ClientActiveUI;
404
		
405
		local status = {
406
			Enabled = false,
407
			TeamCheck = false,
408
			HeadsOnly = false,
409
			RayCheck = true,
410
			AutoAim = false,
411
		}
412
		
413
		local function toggle(button)
414
			local option, val = button['Text']:match('(.*):%s*(.*)')
415
			status[option] = not status[option]
416
			
417
			if status[option] then
418
				button.TextColor3 = Color3.fromRGB(0,255,0)
419
			else
420
				button.TextColor3 = Color3.fromRGB(255,0,0)
421
			end
422
			button.Text = option .. ': ' .. tostring(status[option])
423
		end
424
		
425
		local selection = {}
426
		local select_pos = 1
427
		local current_pos = 0
428
		local __ = function()
429
			if ffc(game.CoreGui, '___') then return end
430
			
431
			local GUI = cre('ScreenGui',game:GetService('CoreGui')){
432
				Name = '___';
433
			}
434
			
435
			local Frame = cre('ScrollingFrame',GUI){
436
				BackgroundTransparency = 1,
437
				BorderSizePixel = 0,
438
				
439
				Name = 'Options',
440
				Position = UDim2.new(.8,0,.915,0),
441
				Size = UDim2.new(.2,0,0,30),
442
				ZIndex = 10,
443
				ClipsDescendants = true,
444
				CanvasSize = UDim2.new(0,0,0,0),
445
				ScrollBarThickness = 0,
446
				ScrollingEnabled = false,
447
			}
448
			
449
			local UILL = cre('UIListLayout',Frame){
450
				Name = 'LayoutHandler',
451
				FillDirection = 'Vertical',
452
				HorizontalAlignment = 'Center',
453
				SortOrder = 'LayoutOrder',
454
				VerticalAlignment = 'Top'
455
			}
456
			
457
			local Template = cre('TextButton',nil){
458
				BackgroundTransparency = 1,
459
				BorderSizePixel = 0,
460
				
461
				Name = 'Template',
462
				Size = UDim2.new(.9,0,0,30),
463
				Font = 'SciFi',
464
				Text = '',
465
				TextColor3 = Color3.fromRGB(255,255,255),
466
				TextScaled = true,
467
				TextWrapped = true,
468
			} 
469
			
470
			local TSC = cre('UISizeConstraint',Template){
471
				Name = 'TemplateSizeConstraint',		
472
				MaxSize = Vector2.new(math.huge,30),
473
			}
474
			
475
			Frame['ChildAdded']:connect(function()
476
				ResizeUI(Frame,30,'TextButton')
477
			end)
478
			
479
			local sel_pos = 0
480
			for option, val in next, status do
481
				local tp = Template:Clone()
482
				
483
				tp.Name = option
484
				tp.Text = option .. ': ' .. tostring(val)
485
				
486
				if status[option] then
487
					tp.TextColor3 = Color3.fromRGB(0,255,0)
488
				else
489
					tp.TextColor3 = Color3.fromRGB(255,0,0)
490
				end
491
				
492
				sel_pos = sel_pos + 1
493
				selection[sel_pos] = tp		
494
				tp.Parent = Frame
495
			end
496
		
497
			Frame.CanvasPosition = Vector2.new(0, current_pos)
498
			return Frame
499
		end
500
		
501
		Client['CharacterAdded']:connect(function(c)
502
			ClientModel = c
503
			ClientHumanoid = wfcoc(ClientModel,'Humanoid')
504
			ClientActiveUI.Parent.Parent = nil
505
			ClientActiveUI = coroutine.wrap(__)()
506
		end)
507
		ClientActiveUI = coroutine.wrap(__)()
508
		
509
		local right_down, keylogs, inputlogs = nil, {}, {}
510
		services.Input.InputBegan:connect(function(input, procc)
511
			keylogs[input.KeyCode],inputlogs[input.UserInputType] = true, true;
512
			
513
			if not ClientActiveUI then return end
514
			if keylogs[Enum.KeyCode.U] and current_pos >= 30 then
515
				select_pos = select_pos - 1
516
				current_pos = current_pos - 30
517
				ClientActiveUI.CanvasPosition = Vector2.new(0,current_pos)
518
				
519
			elseif keylogs[Enum.KeyCode.J] and current_pos < ClientActiveUI.CanvasSize.Y.Offset - 30 then
520
				select_pos = select_pos + 1		
521
				current_pos = current_pos + 30		
522
				ClientActiveUI.CanvasPosition = Vector2.new(0,current_pos)
523
				
524
			elseif keylogs[Enum.KeyCode.H] then
525
				if selection[select_pos] then
526
					toggle(selection[select_pos])
527
				end
528
			end
529
		end)
530
		services.Input.InputEnded:connect(function(input, procc)
531
			keylogs[input.KeyCode],inputlogs[input.UserInputType] = false, false;
532
		end)
533
		
534
		local function GetPlayerFromCharacter(mod)
535
			if not mod:IsA('Model') then return end
536
			
537
			for __, client in next, services.Players:GetPlayers() do
538
				if rawequal(string.lower(client['Name']):sub(1,#mod['Name']),mod['Name']:lower()) then
539
					return client, client['Name']
540
				end
541
			end		
542
			return nil, 'N/A'
543
		end
544
		
545
		local function Search()
546
			local t = {}	
547
			for __, child in next, services.World:GetChildren() do
548
				local UserFromCharacter = GetPlayerFromCharacter(child)
549
				if UserFromCharacter then
550
					if child:IsA('Model') and not rawequal(UserFromCharacter,Client) then
551
						local h = ffoc(child,'Humanoid')
552
						if h and h.Health > 0 then
553
							table.insert(t, {child,UserFromCharacter})
554
						end
555
					end
556
				end
557
			end
558
			return t
559
		end
560
		
561
		local function cast_ray(p0,p1,blacklist)
562
			local Part
563
			local __=0
564
			repeat
565
				__=__+1
566
				local cond=(p1-p0).magnitude < 999
567
				Part,p0=cast(workspace,ray(p0,cond and p1-p0 or (p1-p0).unit*999),blacklist)
568
				if Part then
569
					if Part.CanCollide==false or Part.Transparency==1 then
570
						blacklist[#blacklist+1]=Part
571
						Part=nil
572
					end
573
				elseif cond or __ > 15 then
574
					break
575
				end
576
			until Part
577
			return Part,p0
578
		end
579
		
580
		services.Run.RenderStepped:connect(function()
581
			local Storage = {}
582
			if status['Enabled'] and (inputlogs[Enum.UserInputType.MouseButton2] or status['AutoAim']) then
583
				Storage = Search()
584
				
585
				local dot, face = -1
586
				for __, info in next, (Storage) do
587
					local h = ffc(info[1],'Humanoid')
588
					local skip;
589
					
590
					if not inputlogs[Enum.UserInputType.MouseButton2] and not status['AutoAim'] then return end
591
					if not info[1] or not info[2] or IgnorePlayersNamed[info[2]['Name']] or ffoc(info[1],'ForceField') then skip = true end
592
					if not ffc(info[1],'HumanoidRootPart') then skip = true end
593
							
594
					if h and h['Health'] > 0 then
595
						if status['TeamCheck'] then
596
							if Client['TeamColor'] == info[2]['TeamColor'] then 
597
								skip = true 
598
							end
599
						end
600
						
601
						if not skip then
602
							local cc = ClientCamera.CFrame
603
							local pos = status['HeadsOnly'] and info[1]['Head'].CFrame.p or info[1]['HumanoidRootPart'].Position
604
							local HitPart=cast_ray(cc.p,pos,{ClientCamera,ClientModel})
605
							
606
							if not (status['RayCheck'] and HitPart) or info[1]:IsAncestorOf(HitPart) then
607
								local m = (pos-cc.p).unit:Dot(cc.lookVector)
608
								if rawequal(m,m) and m > dot then
609
									dot, face= m, pos
610
								end
611
							end
612
						end
613
					end
614
				end
615
				if face then
616
					ClientCamera.CFrame = CFrame.new(ClientCamera.CFrame.p,face) * CFrame.new(0,0,0.5)
617
				end
618
			end
619
		end)
620
		
621
	end
622
}
623
624
Settings = (function()
625
	local NewSettings = {
626
		--- Chams ---
627
		CT = 0; -- Transparency
628
		TCO = false; -- Team Chams On
629
		ECO = false; -- Enemy Chams On
630
		TCC = GetColor(Misc.ChamsColors, 'Grey'); -- Current Team Chams Color
631
		ECC = GetColor(Misc.ChamsColors, 'Red'); -- Current Enemy Chams Color
632
		
633
		--- Fullbright ---	
634
		Fullbright = {
635
			On = false;
636
			Current = 1;
637
			Options = {'Max','Half','Default'};
638
			OptionDefs = {
639
				Max = {
640
					Fog = 1000000;
641
					Brightness = 10;
642
					InAmbience = Color3.new(1, 1, 1);
643
					OutAmbience = Color3.new(1, 1, 1);
644
				};
645
				Half = {
646
					Fog = 250;
647
					Brightness = 1.5;
648
					InAmbience = Color3.new(0.6, 0.6, 0.6);
649
					OutAmbience = Color3.new(0.6, 0.6, 0.6);
650
				};
651
				Default = {
652
					Fog = Lighting.FogEnd;
653
					Brightness = Lighting.Brightness;
654
					InAmbience = Lighting.Ambient;
655
					OutAmbience = Lighting.OutdoorAmbient;
656
				}
657
			}
658
		}
659
	}
660
	
661
	for __, option in next, (Settings) do
662
		local NewOption = Button:Clone()
663
		if option[1] == 'Menu' or option[1] == 'Chams Transparency' then
664
			NewOption['Status']['Style'] = 'Custom';
665
			NewOption['Key']['TextStrokeColor3'] = Misc.GUIColors.On
666
		end
667
		
668
		NewOption['Text'].Text = option[1]:match('COLOR') and (
669
				(option[1]:match('Team') and option[1]:gsub('COLOR', NewSettings.TCC[1])) or
670
				(option[1]:match('Enemy') and option[1]:gsub('COLOR', NewSettings.ECC[1]))
671
				 ) or option[1]
672
		NewOption['Key'].Text = '['.. ((typeof(option[3]) == 'EnumItem' and option[3].Name) or option[3]) .. ']'		
673
		NewOption.Parent = Menu['Main']['Buttons']
674
		
675
		if option[1] == 'Chams Transparency' then
676
			NewOption['Name'] = 'Frans'
677
		end		
678
		
679
		local Func, Name = GetFunc(Functions, option[1])
680
		if Func then
681
			NewOption['Text']['MouseButton1Down']:connect(function()
682
				if not option[2] then return end				
683
				if NewOption.Status.Style.Name == 'DropShadow' then
684
					NewOption.Status.Style = 'Custom'
685
				elseif NewOption.Status.Style.Name == 'Custom' then
686
					NewOption.Status.Style = 'DropShadow'
687
				end
688
				
689
				if option[1]:match('Aimbot') then
690
					Func(NewOption)
691
					
692
				elseif option[1]:match('Fullbright') then
693
					Func(true, NewOption['Key'])
694
					
695
				else
696
					Func()
697
				end
698
			end)
699
			if option[3] == 'Toggle' then
700
				if Name:match('Team') then
701
					NewOption['Key']['MouseButton1Down']:connect(function()
702
						local Tab, Pos = GetColor(Misc.ChamsColors, NewSettings.TCC[2])
703
						if (Pos + 1) < #Misc.ChamsColors then
704
							NewOption['Text'].Text = NewOption['Text'].Text:gsub(NewSettings.TCC[1], Misc.ChamsColors[Pos + 1][1])
705
							NewSettings.TCC = Misc.ChamsColors[Pos + 1]
706
						else
707
							NewOption['Text'].Text = NewOption['Text'].Text:gsub(NewSettings.TCC[1], Misc.ChamsColors[1][1])
708
							NewSettings.TCC = Misc.ChamsColors[1]
709
						end
710
						
711
						GetFunc(Functions, 'Chams Transparency')()
712
					end)
713
				elseif Name:match('Enemy') then
714
					NewOption['Key']['MouseButton1Down']:connect(function()
715
						local Tab, Pos = GetColor(Misc.ChamsColors, NewSettings.ECC[2])
716
						if (Pos + 1) < #Misc.ChamsColors then
717
							NewOption['Text'].Text = NewOption['Text'].Text:gsub(NewSettings.ECC[1], Misc.ChamsColors[Pos + 1][1])
718
							NewSettings.ECC = Misc.ChamsColors[Pos + 1]
719
						else
720
							NewOption['Text'].Text = NewOption['Text'].Text:gsub(NewSettings.ECC[1], Misc.ChamsColors[1][1])
721
							NewSettings.ECC = Misc.ChamsColors[1]
722
						end
723
						
724
						GetFunc(Functions, 'Chams Transparency')()
725
					end)
726
				end
727
				
728
			elseif option[1] == 'Chams Transparency' then
729
				NewOption['Key']['MouseButton1Down']:connect(function()
730
					GetFunc(Functions, 'Chams Transparency')(true)
731
				end)
732
				
733
			elseif option[1] == 'Fullbright' then
734
				NewOption['Key']['MouseButton1Down']:connect(function()
735
					local Fullbright = Settings.Fullbright
736
					if not Fullbright.On then return end
737
					if Fullbright.Current < #Fullbright.Options	 then
738
						Fullbright.Current = Fullbright.Current + 1
739
					else
740
						Fullbright.Current = 1
741
					end
742
					GetFunc(Functions, 'Fullbright')(false, NewOption['Key'])
743
				end)
744
				
745
			end
746
		end
747
	end
748
	return NewSettings
749
end)()
750
751
setmetatable(Misc['CharFunctions'], {
752
	__newindex = function(s, i, v)
753
		rawset(Misc['CharFunctions'], i, v)
754
		for __, player in next, (Players:GetPlayers()) do
755
			if player.Character then
756
				v(player.Character)
757
			end
758
		end
759
	end
760
})
761
762
local CharFix = function(char)
763
	local Target = Players:GetPlayerFromCharacter(char)
764
	local Team = Chams['Team']:FindFirstChild(Target['Name'])
765
	local Enemy = Chams['Enemy']:FindFirstChild(Target['Name'])
766
	
767
	if Team then
768
		for __, handle in next, (Team:GetChildren()) do
769
			if handle['Adornee'] and not handle['Adornee']:IsDescendantOf(game) then
770
				handle['Parent'] = nil
771
			end
772
		end
773
	end
774
		
775
	if Enemy then
776
		for __, handle in next, (Enemy:GetChildren()) do
777
			if handle['Adornee'] and not handle['Adornee']:IsDescendantOf(game) then
778
				handle['Parent'] = nil
779
			end
780
		end
781
	end
782
end
783
784
local CharAbuse = function(char) wait()
785
	for __, func in next, (Misc['CharFunctions']) do
786
		coroutine.wrap(func)(char)
787
	end
788
	
789
	char['Changed']:connect(function(prop)
790
		if (prop == 'Parent') then
791
			CharFix(char)
792
		end
793
	end)
794
end
795
796
for __, player in next, (Players:GetPlayers()) do
797
	player['CharacterAdded']:connect(CharAbuse)
798
end
799
800
Players.PlayerAdded:connect(function(Client)
801
	Client['CharacterAdded']:connect(CharAbuse)
802
end)
803
804
Players.PlayerRemoving:connect(function(Client)
805
	local Team = Chams['Team']:FindFirstChild(Client['Name'])
806
	local Enemy = Chams['Enemy']:FindFirstChild(Client['Name'])
807
	
808
	if Team then Team['Parent'] = nil end
809
	if Enemy then Enemy['Parent'] = nil end
810
end)
811
812
Input['InputBegan']:connect(function(input, og)
813
	if og then return end
814
	
815
	if input.UserInputType == Enum.UserInputType.Keyboard then
816
		if input.KeyCode == Enum.KeyCode.Delete then
817
			Functions['Menu']()
818
		end		
819
	end
820
end)
821
822
Menu.Parent = game.CoreGui