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 |