Advertisement
Cawe321

NPC Aimbot (VirtualUser)

Sep 3rd, 2022 (edited)
1,212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2.  
  3. __/\\\\____________/\\\\_________________________________________________________
  4. _\/\\\\\\________/\\\\\\_________________________________________________________
  5. _\/\\\//\\\____/\\\//\\\_________________________________________________________
  6. _\/\\\\///\\\/\\\/_\/\\\_____/\\\\\_____/\\/\\\\\\\___/\\\\\\\\\\_____/\\\\\\\\__
  7. _\/\\\__\///\\\/___\/\\\___/\\\///\\\__\/\\\/////\\\_\/\\\//////____/\\\/////\\\_
  8. _\/\\\____\///_____\/\\\__/\\\__\//\\\_\/\\\___\///__\/\\\\\\\\\\__/\\\\\\\\\\\__
  9. _\/\\\_____________\/\\\_\//\\\__/\\\__\/\\\_________\////////\\\_\//\\///////___
  10. _\/\\\_____________\/\\\__\///\\\\\/___\/\\\__________/\\\\\\\\\\__\//\\\\\\\\\\_
  11. _\///______________\///_____\/////_____\///__________\//////////____\//////////__
  12. [A1.exe#1168]
  13.  
  14. FIRST PERSON SHOOTERS
  15. ------------------------
  16. -: CHANGELOG :-
  17. ------------------------
  18. 4.5.3:
  19. -- Added `protect_gui` to UI instances on synapse
  20. - Significant Performance Enhancements (Shouldn't lag as much on any game)
  21. - Aimbot now has range instead of depth
  22. - Aimbot has mode option now
  23. - Fixed ESP to cycle between 'All', 'Players', 'NPCs'
  24. - Fixed Chams Transparency
  25. - 4.x emphasizes the focus on including NPCs
  26. - Completely rewrote ESP
  27. - Completely rewrote Chams
  28. - Aimbot uses mouse (Change Depth if it doesn't Detect NPCs)
  29. - Changed default chams transparency to 0.9
  30.  
  31. ------------------------
  32. -: NOTES :-
  33. ------------------------
  34. - Pressing `Esc` lets u focus on using this menu fully
  35. - This script relies heavily on Synapse's anti CoreGui detection methods.
  36. - Use at your own risk.
  37. - This script is laggy on some games... It is what it is.
  38. - Games with custom drag implementations kinda screw this script
  39.  
  40. Esp:
  41. - This is pretty much safe.
  42. Chams:
  43. - This is very easily detected.
  44. - Be careful using this.
  45. Aimbot:
  46. - This is pretty much safe, as it
  47. relies entirely on dragging the mouse.
  48. - Works better on lower sensitivities
  49. - Players within CloseRange (75 studs)
  50. are targeted by who's closest.
  51. - Increase depth to search workspace
  52. further. Some games hide NPCs deeper in folders.
  53. Fullbright:
  54. - Messes with stuff, might get you banned.
  55. Floaty:
  56. - Messes with stuff, might get you banned.
  57.  
  58. ------------------------
  59. -: CONTROLS :-
  60. ------------------------
  61. Menu:
  62. Delete - Toggle
  63.  
  64. Chams:
  65. Click [Toggle] to cycle colors
  66.  
  67. Aimbot:
  68. H - Toggle
  69. U - Up
  70. J - Down
  71.  
  72. Floaty:
  73. N - Still
  74. B - Up
  75. M - Down
  76.  
  77.  
  78. --]]
  79.  
  80. local IsScreenActive = true
  81. local UserInputService = game:GetService("UserInputService")
  82. UserInputService.WindowFocusReleased:Connect(function()
  83. IsScreenActive = false
  84. end)
  85. UserInputService.WindowFocused:Connect(function()
  86. IsScreenActive = true
  87. end)
  88.  
  89. local GameSettings = UserSettings():GetService('UserGameSettings')
  90. local CoreGUI = game:GetService('CoreGui')
  91.  
  92. local Run = game:GetService('RunService');
  93. local World = game:GetService('Workspace');
  94. local Input = game:GetService('UserInputService');
  95. local Lighting = game:GetService('Lighting');
  96. local Players = game:GetService('Players');
  97. local Player = Players['LocalPlayer'];
  98. local PlayerMouse = Player:GetMouse()
  99. local PlayerCamera = World.CurrentCamera
  100. local PlayerModel = Player.Character or Player.CharacterAdded:wait()
  101.  
  102. local Temp = {}
  103. local Targets = {}
  104. local Inputs = {}
  105. local Keys = {}
  106. local Events = {
  107. Targets = Instance.new('BindableEvent')
  108. }
  109.  
  110. local VirtualUser = game:GetService("VirtualUser")
  111.  
  112.  
  113. local Settings = {
  114. -- Order and Defaults --
  115. Menu = {
  116. Defaults = {
  117. {'Menu', false, Enum.KeyCode.Delete},
  118. {'Team Chams', true, '<-'},
  119. {'Enemy Chams', true, '<-'},
  120. {'Toggle Chams', true, '<-'},
  121. {'Fullbright', true, '\'MAX\''},
  122. {'Floaty', true, '\'Still\''},
  123. {'Aimbot', true, '<-'},
  124. {'Aimbot Mode', false, '<-'},
  125. {'ESP', true, '<-'},
  126. {'Written by: A1.exe#1168', false, 'Discord'}
  127. },
  128.  
  129. Colors = {
  130. Enabled = Color3.fromRGB(46, 105, 132),
  131. Disabled = Color3.fromRGB(97, 97, 97),
  132. }
  133. },
  134.  
  135. --- ESP ---
  136. ESP = {
  137. Enabled = false,
  138. Options = {'All', 'Players', 'NPCs'},
  139. Current = 1
  140. },
  141.  
  142. --- Chams ---
  143. Chams = {
  144. Enabled = false,
  145. Transparency = 0.9,
  146.  
  147. Team = {
  148. Enabled = false,
  149. Color = {'Grey', Color3.fromRGB(204, 204, 204)}
  150. },
  151.  
  152. Enemy = {
  153. Enabled = false,
  154. Color = {'Red', Color3.fromRGB(255, 0, 0)}
  155. },
  156.  
  157. Colors = {
  158. {'White', Color3.fromRGB(255, 255, 255)},
  159. {'Black', Color3.fromRGB(0, 0, 0)},
  160. {'Grey', Color3.fromRGB(204, 204, 204)},
  161. {'Red', Color3.fromRGB(255, 0, 0)},
  162. {'Yellow', Color3.fromRGB(255, 255, 0)},
  163. {'Purple', Color3.fromRGB(166, 0, 166)},
  164. {'Blue', Color3.fromRGB(0, 0, 255)},
  165. {'Green', Color3.fromRGB(0, 255, 0)},
  166. },
  167. },
  168.  
  169. --- Aimbot ---
  170. Aimbot = {
  171. Enabled = false,
  172. Mode = 3,
  173. ModeOptions = {'All', 'Players', 'NPCs'},
  174. Range = 1,
  175. RangeOptions = {math.huge, 100, 250, 500, 750, 1000, 1250, 1500, 1750, 2000, 2500, 5000},
  176. CloseRange = -1,
  177. Selection = {},
  178. Selected = 1,
  179. Scrolled = 0,
  180. Status = {},
  181. Menu = {
  182. {'Enabled', false}, -- // Toggle aimbot
  183. {'TeamCheck', false}, -- // Check team
  184. {'HeadsOnly', true}, -- // Only target head
  185. {'Shake', false}, -- // Shake mouse between body and head
  186. {'RayCheck', true}, -- // Obstacles exist
  187. {'CamCheck', false}, -- // Don't check inside the camera
  188. {'AutoAim', false}, -- // No need to hold mouse
  189. {'Hide Menu', false}, -- // Hide the ui
  190. }
  191. },
  192.  
  193. --- Floaty ---
  194. Floaty = {
  195. Enabled = false,
  196. Height = 3.9,
  197. Current = 1,
  198. Options = {'Still', 'Up', 'Down'}
  199. },
  200.  
  201. --- Fullbright ---
  202. Fullbright = {
  203. Enabled = false,
  204. Current = 1,
  205. Options = {'Max', 'Half', 'Default'},
  206. OptionDefs = {
  207. Max = {
  208. Fog = 1000000,
  209. Brightness = 10,
  210. InAmbience = Color3.new(1, 1, 1),
  211. OutAmbience = Color3.new(1, 1, 1),
  212. },
  213. Half = {
  214. Fog = 250,
  215. Brightness = 1.5,
  216. InAmbience = Color3.fromRGB(153, 153, 153),
  217. OutAmbience = Color3.fromRGB(153, 153, 153),
  218. },
  219. Default = {
  220. Fog = Lighting.FogEnd,
  221. Brightness = Lighting.Brightness,
  222. InAmbience = Lighting.Ambient,
  223. OutAmbience = Lighting.OutdoorAmbient
  224. }
  225. }
  226. }
  227. }
  228.  
  229. ---- LOAD EVENTS ----
  230. for name, tab in next, (Settings) do
  231. Events[name] = Instance.new('BindableEvent')
  232. end
  233. ---------------------
  234.  
  235.  
  236. local function GetFunc(tab, name)
  237. for funcName, func in next, (tab) do
  238. if funcName == name then
  239. return func, funcName
  240. end
  241. end
  242. end
  243.  
  244. local function GetColor(tab, name)
  245. for index, colortab in next, (tab) do
  246. if (colortab[1] == name) then
  247. return colortab, index
  248. elseif (colortab[2] == name) then
  249. return colortab, index
  250. end
  251. end
  252. end
  253.  
  254. ------------ [[ GUI SPAWN ]] ------------
  255. FormAssets = function()
  256. ------ ERROR MAGIC ------
  257. local __ERROR__ = Instance.new('BindableEvent')
  258. __ERROR__['Event']:Connect(error)
  259.  
  260. --------- CREATE FUNCTION ---------
  261. local create = function(class, parent)
  262. local instance = Instance.new(class);
  263.  
  264. if instance:IsA('GuiObject') and syn and syn.protect_gui then
  265. syn.protect_gui(instance)
  266. end
  267.  
  268. return function(props)
  269. for property, value in next, (props) do
  270. if (property ~= 'Parent') and (typeof(value) ~= 'Instance') then
  271. local suc, err = pcall(function()
  272. instance[property] = value
  273. end)
  274. if not suc then __ERROR__:Fire('[Script->Asset]: ' .. err) end
  275.  
  276. elseif (property == 'Parent') then
  277. parent = value
  278. end
  279. end
  280.  
  281. if parent and (typeof(parent) == 'Instance') then
  282. instance['Parent'] = parent
  283. end
  284.  
  285. return instance
  286. end
  287. end
  288.  
  289. -------------------------------------
  290. -------------------------------------
  291. -- SOME THINGS MAY BE OUT OF ORDER --
  292. ----(INSTANCE RELATED PROPERTIES)----
  293. -------------(UNLIKELY)--------------
  294. -------------------------------------
  295. -------------------------------------
  296.  
  297. local Main = create('ScreenGui'){
  298. Name = 'FPS Hacks - Menu'
  299. }
  300.  
  301. local Folder = create('Folder', Main){
  302. Name = 'Chams'
  303. }
  304.  
  305. local Folder1 = create('Folder', Folder){
  306. Name = 'Team'
  307. }
  308.  
  309. local Folder2 = create('Folder', Folder){
  310. Name = 'Enemy'
  311. }
  312.  
  313. local Folder3 = create('Folder', Main){
  314. Name = 'ESP'
  315. }
  316.  
  317. local Frame = create('Frame', Main){
  318. Name = 'Main';
  319. BackgroundColor3 = Color3.new(1, 1, 1);
  320. BackgroundTransparency = 1;
  321. Position = UDim2.new(0.5, 0, 0.5, 0);
  322. Size = UDim2.new(0, 250, 0, 190);
  323. Draggable = true;
  324. Active = true;
  325. AnchorPoint = Vector2.new(0.5, 0.5);
  326. Transparency = 1
  327. }
  328.  
  329. local TextLabel = create('TextLabel', Frame){
  330. Name = 'Title';
  331. BackgroundColor3 = Color3.new(0.180392, 0.411765, 0.517647);
  332. BorderSizePixel = 0;
  333. Size = UDim2.new(1, 0, 0, 35);
  334. Text = 'FPS Hacks v4.5.3';
  335. TextColor3 = Color3.new(0.866667, 0.843137, 0.843137);
  336. Font = Enum.Font.SciFi;
  337. FontSize = Enum.FontSize.Size28;
  338. TextWrapped = true
  339. }
  340.  
  341. local ScrollingFrame = create('ScrollingFrame', Frame){
  342. Name = 'Buttons';
  343. BackgroundColor3 = Color3.new(1, 1, 1);
  344. BackgroundTransparency = 1;
  345. BorderSizePixel = 0;
  346. Position = UDim2.new(0.5, 0, 0, 40);
  347. CanvasSize = UDim2.new(0, 0, 0, 0);
  348. Size = UDim2.new(1, 0, 0, 290);
  349. AnchorPoint = Vector2.new(0.5, 0);
  350. Transparency = 1
  351. }
  352.  
  353. local Frame1 = create('Frame'){
  354. BackgroundColor3 = Color3.new(1, 1, 1);
  355. BackgroundTransparency = 1;
  356. BorderSizePixel = 0;
  357. Position = UDim2.new(0, 0, 0, 1);
  358. Selectable = true;
  359. Size = UDim2.new(1, 0, 0, 25);
  360. ClipsDescendants = true;
  361. Transparency = 1
  362. }
  363.  
  364. local TextLabel1 = create('TextButton', Frame1){
  365. Name = 'Text';
  366. BackgroundColor3 = Color3.new(1, 1, 1);
  367. BorderColor3 = Color3.new(0.180392, 0.411765, 0.517647);
  368. Position = UDim2.new(0.100000001, 0, 0, 0);
  369. Size = UDim2.new(0.600000024, 0, 1, 0);
  370. Text = 'Example';
  371. TextColor3 = Color3.new(0.180392, 0.411765, 0.517647);
  372. Font = Enum.Font.SciFi;
  373. FontSize = Enum.FontSize.Size14
  374. }
  375.  
  376. local Frame2 = create('Frame', Frame1){
  377. Name = 'Status';
  378. BackgroundColor3 = Color3.new(0, 1, 0);
  379. BorderSizePixel = 0;
  380. Position = UDim2.new(0.0250000004, 0, 0.5, 0);
  381. Size = UDim2.new(0, 7, 0, 7);
  382. Style = Enum.FrameStyle.DropShadow;
  383. AnchorPoint = Vector2.new(0, 0.5)
  384. }
  385.  
  386. local TextButton = create('TextButton', Frame1){
  387. Name = 'Key';
  388. BackgroundColor3 = Color3.new(0.180392, 0.411765, 0.517647);
  389. BackgroundTransparency = 0.5;
  390. BorderSizePixel = 0;
  391. Position = UDim2.new(0.699999988, 0, 0, 0);
  392. Size = UDim2.new(0.300000012, 0, 1, 0);
  393. Text = '[EXAMPLE]';
  394. TextColor3 = Color3.new(0.839216, 0.839216, 0.839216);
  395. Font = Enum.Font.SciFi;
  396. FontSize = Enum.FontSize.Size14;
  397. TextStrokeColor3 = Color3.new(0.380392, 0.380392, 0.380392);
  398. TextStrokeTransparency = 0;
  399. Transparency = 0.5
  400. }
  401.  
  402. local UIListLayout = create('UIListLayout', ScrollingFrame){
  403. Padding = UDim.new(0, 4);
  404. HorizontalAlignment = Enum.HorizontalAlignment.Center
  405. }
  406.  
  407. local UIPadding = create('UIPadding', ScrollingFrame){}
  408.  
  409. local ESP_GUI = create('BillboardGui'){
  410. Active = true;
  411. AlwaysOnTop = true;
  412. StudsOffsetWorldSpace = Vector3.new(0, 4, 0);
  413. Size = UDim2.new(0, 25, 0, 12)
  414. }
  415.  
  416. create('TextLabel', ESP_GUI){
  417. Name = 'Target';
  418. BackgroundColor3 = Color3.new(1, 1, 1);
  419. BackgroundTransparency = 1;
  420. BorderSizePixel = 0;
  421. Size = UDim2.new(1, 0, 0, 20);
  422. Text = '';
  423. TextColor3 = Color3.new(1, 0, 0);
  424. Font = Enum.Font.GothamBlack;
  425. TextSize = 16;
  426. TextScaled = true;
  427. TextStrokeTransparency = 0.20000000298023;
  428. TextWrapped = true
  429. }
  430.  
  431. create('TextLabel', ESP_GUI){
  432. Name = 'Dist';
  433. BackgroundColor3 = Color3.new(1, 1, 1);
  434. BackgroundTransparency = 1;
  435. Position = UDim2.new(0, 0, 0.349999994, 0);
  436. Size = UDim2.new(1, 0, 0, 20);
  437. Text = '';
  438. TextColor3 = Color3.new(1, 0, 0.498039);
  439. Font = Enum.Font.Ubuntu;
  440. FontSize = Enum.FontSize.Size14;
  441. TextScaled = true;
  442. TextStrokeTransparency = 0.20000000298023;
  443. TextWrapped = true
  444. }
  445.  
  446.  
  447. local Float = function()
  448. return create('Part', World){
  449. Size = Vector3.new(6, 1.8, 6);
  450. Transparency = 1;
  451. CanCollide = false;
  452. Anchored = true
  453. }
  454. end
  455.  
  456. return create, Main, Frame1, Folder, Folder3, ESP_GUI, Float
  457. end
  458.  
  459. local Create, Menu, Button, Chams, ESPFolder, Billboard, Float = FormAssets()
  460.  
  461. local Functions;
  462. Functions = {
  463. ['Menu'] = function()
  464. Menu['Enabled'] = not (Menu['Enabled']);
  465. end;
  466.  
  467. ['Floaty'] = function(change)
  468. local FloatySettings = Settings.Floaty
  469. if not Floaty then Floaty = Float() end
  470.  
  471. if (change:lower() == 'toggle') then
  472. FloatySettings.Enabled = not FloatySettings.Enabled
  473. end
  474.  
  475. if (change:lower() == 'up') then
  476. FloatySettings.Height = 2
  477. FloatySettings.UI.Key.Text = '[ \'UP\' ]'
  478. return
  479. elseif (change:lower() == 'still') then
  480. FloatySettings.Height = 3.9
  481. FloatySettings.UI.Key.Text = '[ \'STILL\' ]'
  482. return
  483. elseif (change:lower() == 'down') then
  484. FloatySettings.Height = 6
  485. FloatySettings.UI.Key.Text = '[ \'DOWN\' ]'
  486. return
  487. end
  488.  
  489. if FloatySettings.Enabled then
  490. Floaty.CanCollide = true
  491.  
  492. coroutine.wrap(function()
  493. while FloatySettings.Enabled and wait() and Floaty do
  494. local Char = Player.Character or Player.CharacterAdded:wait()
  495. local RootPart = Char and Char:FindFirstChild('HumanoidRootPart')
  496.  
  497. if RootPart then
  498. Floaty.CFrame = CFrame.new(RootPart.CFrame.x, RootPart.CFrame.y - FloatySettings.Height, RootPart.CFrame.z)
  499. end
  500. end
  501.  
  502. if Foaty then
  503. Floaty.CanCollide = false
  504. end
  505. end)()
  506. elseif Floaty then
  507. Floaty.CanCollide = false
  508. end
  509. end;
  510.  
  511. ['ESP'] = function()
  512. local ESPSettings = Settings.ESP
  513.  
  514. ESPSettings.Enabled = not ESPSettings.Enabled
  515.  
  516. ESPFolder:ClearAllChildren()
  517. if ESPSettings.Enabled then
  518. if Temp['ESP'] then
  519. Temp['ESP']:Disconnect()
  520. Temp['ESP'] = nil
  521. end
  522.  
  523. local function HandleESP(model, player)
  524. if (player == Player) then return end
  525.  
  526. local RootPart = model:WaitForChild('HumanoidRootPart', 1)
  527. if not RootPart then return end
  528.  
  529. local Bill = Billboard:Clone()
  530. local Folder, targetCon, playerCon;
  531. local modeModel = (player and ESPSettings.Options[2]) or ESPSettings.Options[3]
  532. local modeESP = ESPSettings.Options[ESPSettings.Current]
  533.  
  534. if player then
  535. local name = player['Name']
  536. if (#name > 20) then
  537. name = name:sub(1, 20) .. '...'
  538. end
  539.  
  540. local teammate = (player.TeamColor == Player.TeamColor)
  541. Folder = Create('Folder', ESPFolder){Name = name}
  542. Bill.Target.Text = name..(((player.TeamColor == Player.TeamColor) and ' [T]') or '')
  543. Bill.Target.TextColor3 = player.TeamColor.Color
  544.  
  545. local function teamChanged()
  546. local name = player['Name']
  547. if (#name > 20) then
  548. name = name:sub(1, 20) .. '...'
  549. end
  550.  
  551. Bill.Target.Text = name..(((player.TeamColor == Player.TeamColor) and ' [T]') or '')
  552. Bill.Target.TextColor3 = player.TeamColor.Color
  553. end
  554.  
  555. targetCon = player:GetPropertyChangedSignal('TeamColor'):Connect(teamChanged)
  556. playerCon = Player:GetPropertyChangedSignal('TeamColor'):Connect(teamChanged)
  557. else
  558. local name = model['Name']
  559. if (#name > 20) then
  560. name = name:sub(1, 20) .. '...'
  561. end
  562.  
  563. Folder = Create('Folder', ESPFolder){Name = 'NPC: '..name}
  564. Bill.Target.Text = 'NPC: '..name
  565. end
  566.  
  567. Bill.Enabled = (ESPSettings.Current == 1) or (modeESP == modeModel)
  568. Bill.Adornee = RootPart
  569. Bill.Parent = Folder
  570.  
  571. local modeChanged = Events.ESP.Event:Connect(function(kind)
  572. if kind == 'change' then
  573. modeESP = ESPSettings.Options[ESPSettings.Current]
  574. Bill.Enabled = (ESPSettings.Current == 1) or (modeESP == modeModel)
  575. end
  576. end)
  577.  
  578. PlayerModel = Player.Character or Player.CharacterAdded:wait()
  579.  
  580. while model:IsDescendantOf(World) and Folder:IsDescendantOf(CoreGUI) and ESPSettings.Enabled do
  581. local CHRP = PlayerModel and PlayerModel:FindFirstChild('HumanoidRootPart')
  582. if CHRP then
  583. Bill.Dist.Text = ""
  584. end
  585.  
  586. wait()
  587. end
  588.  
  589. Folder.Parent = nil
  590. if targetCon then targetCon:Disconnect() end
  591. if playerCon then playerCon:Disconnect() end
  592. modeChanged:Disconnect()
  593. end
  594.  
  595. for model, player in next, (Targets) do
  596. if not ESPSettings.Enabled then
  597. break
  598. end
  599.  
  600. coroutine.wrap(function()
  601. HandleESP(model, player)
  602. end)()
  603. end
  604.  
  605. if not ESPSettings.Enabled then return end
  606. Temp['ESP'] = Events.Targets.Event:Connect(function(kind, model)
  607. if (kind == 'added') then
  608. coroutine.wrap(function()
  609. HandleESP(model, Targets[model])
  610. end)()
  611. end
  612. end)
  613.  
  614. elseif Temp['ESP'] then
  615. Temp['ESP']:Disconnect()
  616. Temp['ESP'] = nil
  617. end
  618. end,
  619.  
  620. ['Team Chams'] = function(mainbutton)
  621. local TeamSettings = Settings.Chams.Team
  622. if mainbutton then
  623. TeamSettings.Enabled = not TeamSettings.Enabled
  624. end
  625.  
  626. for __, handle in next, (Chams['Team']:GetDescendants()) do
  627. if handle:IsA('BoxHandleAdornment') then
  628. handle.Color3 = TeamSettings.Color[2]
  629. handle.Visible = TeamSettings.Enabled
  630. end
  631. end
  632. end,
  633.  
  634. ['Enemy Chams'] = function(mainbutton)
  635. local ChamSettings = Settings.Chams
  636. local EnemySettings = ChamSettings.Enemy
  637. if mainbutton then
  638. EnemySettings.Enabled = not EnemySettings.Enabled
  639. end
  640.  
  641. for __, handle in next, (Chams['Enemy']:GetDescendants()) do
  642. if handle:IsA('BoxHandleAdornment') then
  643. handle.Color3 = EnemySettings.Color[2]
  644. handle.Visible = EnemySettings.Enabled
  645. end
  646. end
  647. end,
  648.  
  649. ['Toggle Chams'] = function()
  650. local ChamSettings = Settings.Chams
  651. local TeamSettings = ChamSettings.Team
  652. local EnemySettings = ChamSettings.Enemy
  653.  
  654. ChamSettings.Enabled = not ChamSettings.Enabled
  655. Chams['Team']:ClearAllChildren()
  656. Chams['Enemy']:ClearAllChildren()
  657.  
  658. if ChamSettings.Enabled then
  659. local function HandleChams(model, player)
  660. if (player == Player) then return end
  661.  
  662. local RootPart = model:WaitForChild('HumanoidRootPart', 1)
  663. if not RootPart or (not player and #model:GetDescendants() > 300) then
  664. return
  665. end
  666.  
  667. local Folder, FoldCon, pTeamCon, PTeamCon, ModelCon;
  668. local isFriendly = player and (player.TeamColor == Player.TeamColor)
  669. if player then
  670. Folder = Create('Folder', (isFriendly and Chams['Team']) or Chams['Enemy']){Name = player['Name']}
  671.  
  672. local function teamChanged()
  673. if not Folder:IsDescendantOf(CoreGUI) then
  674. if pTeamCon then pTeamCon:Disconnect() end
  675. if PTeamCon then PTeamCon:Disconnect() end
  676. return
  677. end
  678.  
  679. isFriendly = (player.TeamColor == Player.TeamColor)
  680. if isFriendly then
  681. if Folder:IsDescendantOf(Chams['Enemy']) then
  682. Folder.Parent = Chams['Team']
  683. end
  684.  
  685. for __, handle in next, (Folder:GetChildren()) do
  686. handle.Color3 = TeamSettings.Color[2]
  687. handle.Visible = TeamSettings.Enabled
  688. end
  689. else
  690. if Folder:IsDescendantOf(Chams['Team']) then
  691. Folder.Parent = Chams['Enemy']
  692. end
  693.  
  694. for __, handle in next, (Folder:GetChildren()) do
  695. handle.Color3 = EnemySettings.Color[2]
  696. handle.Visible = EnemySettings.Enabled
  697. end
  698. end
  699. end
  700.  
  701. pTeamCon = player:GetPropertyChangedSignal('TeamColor'):Connect(teamChanged)
  702. PTeamCon = Player:GetPropertyChangedSignal('TeamColor'):Connect(teamChanged)
  703.  
  704. else
  705. Folder = Create('Folder', Chams['Enemy']){Name = model['Name']}
  706. end
  707.  
  708. for __, part in next, (model:GetChildren()) do
  709. if part:IsA('BasePart') then
  710. if isFriendly then
  711. Create('BoxHandleAdornment', Folder)
  712. {
  713. Color3 = TeamSettings.Color[2];
  714. AlwaysOnTop = true;
  715. Transparency = ChamSettings.Transparency;
  716. Visible = TeamSettings.Enabled;
  717. ZIndex = 10;
  718.  
  719. Size = (part['Name'] == 'Head' and Vector3.new(1.25, 1.3, 1.25))
  720. or (Vector3.new(.5, .5, .5) + part.Size)
  721. }['Adornee'] = part
  722. else
  723. Create('BoxHandleAdornment', Folder)
  724. {
  725. Color3 = EnemySettings.Color[2];
  726. AlwaysOnTop = true;
  727. Transparency = ChamSettings.Transparency;
  728. Visible = EnemySettings.Enabled;
  729. ZIndex = 10;
  730.  
  731. Size = (part['Name'] == 'Head' and Vector3.new(1.25, 1.3, 1.25))
  732. or (Vector3.new(.5, .5, .5) + part.Size)
  733. }['Adornee'] = part
  734. end
  735. end
  736. end
  737.  
  738. FoldCon = Folder:GetPropertyChangedSignal('Parent'):Connect(function()
  739. if not Folder:IsDescendantOf(CoreGUI) then
  740. if pTeamCon then pTeamCon:Disconnect() end
  741. if PTeamCon then PTeamCon:Disconnect() end
  742. if ModelCon then ModelCon:Disconnect() end
  743.  
  744. FoldCon:Disconnect()
  745. end
  746. end)
  747.  
  748. if not model:IsDescendantOf(World) or not Folder:IsDescendantOf(CoreGUI) then
  749. if pTeamCon then pTeamCon:Disconnect() end
  750. if PTeamCon then PTeamCon:Disconnect() end
  751. if FoldCon then FoldCon:Disconnect() end
  752.  
  753. Folder.Parent = nil
  754. end
  755. ModelCon = Events.Targets.Event:Connect(function(kind, rmodel)
  756. if (kind == 'removed') and (rmodel == model) then
  757. if pTeamCon then pTeamCon:Disconnect() end
  758. if PTeamCon then PTeamCon:Disconnect() end
  759. if FoldCon then FoldCon:Disconnect() end
  760.  
  761. Folder.Parent = nil
  762. ModelCon:Disconnect()
  763. end
  764. end)
  765. end
  766.  
  767. for model, player in next, (Targets) do
  768. if not ChamSettings.Enabled then
  769. break
  770. end
  771.  
  772. coroutine.wrap(function()
  773. HandleChams(model, player)
  774. end)()
  775. end
  776.  
  777. if not ChamSettings.Enabled then return end
  778. Temp['Chams'] = Events.Targets.Event:Connect(function(kind, model)
  779. if (kind == 'added') then
  780. coroutine.wrap(function()
  781. HandleChams(model, Targets[model])
  782. end)()
  783. end
  784. end)
  785.  
  786. elseif Temp['Chams'] then
  787. Temp['Chams']:Disconnect()
  788. Temp['Chams'] = nil
  789. end
  790. end,
  791.  
  792. ['Fullbright'] = function(mainbutton)
  793. local Fullbright = Settings.Fullbright
  794. if mainbutton then
  795. Fullbright.Enabled = not Fullbright.Enabled
  796. end
  797.  
  798. local function Handle()
  799. local Setting = Fullbright.Options[Fullbright.Current]
  800. local Settings = Fullbright.OptionDefs[Setting]
  801.  
  802.  
  803. Fullbright.UI.Key['Text'] = '[ \'' .. Setting .. '\' ]'
  804. Lighting.Ambient = Settings.InAmbience;
  805. Lighting.OutdoorAmbient = Settings.OutAmbience;
  806. Lighting.Brightness = Settings.Brightness;
  807. Lighting.FogStart = Settings.Fog;
  808. Lighting.FogEnd = Settings.Fog;
  809. end
  810.  
  811. if (not Fullbright.Enabled) then
  812. Fullbright.Current = 3
  813. end
  814.  
  815. Handle()
  816. end;
  817.  
  818. ['Aimbot'] = function(Aimbot)
  819. local IgnorePlayersNamed = {A1_exe=true} -- Name = true or false
  820. --[[
  821. [J] - To go down the list.
  822. [U] - To go up the list.
  823. [H] - To toggle that item in the list.
  824. [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)
  825. --]]
  826.  
  827. local ResizeUI = function(ui,downscale,byclass)
  828. if not rawequal(ui['ClassName'], 'ScrollingFrame') then return end
  829.  
  830. local count = 0;
  831. for __, asset in next, (ui:GetChildren()) do
  832. if rawequal(asset['ClassName'],byclass) then
  833. count = count + 1
  834. end
  835. end
  836.  
  837. ui['CanvasSize'] = UDim2.new(ui.CanvasSize.X.Scale,ui.CanvasSize.X.Offset,ui.CanvasSize.Y.Scale,downscale*count)
  838. end
  839.  
  840. local ffc, ffoc, cast, ray = World.FindFirstChild, World.FindFirstChildOfClass, World.FindPartOnRayWithIgnoreList, Ray.new
  841. local selection, status = Aimbot.Selection, Aimbot.Status
  842.  
  843. local MakeAimUI = function()
  844. local GUI = Create('ScreenGui', CoreGUI){
  845. Name = '___';
  846. On
  847. }
  848.  
  849. local Frame = Create('ScrollingFrame', GUI){
  850. BackgroundTransparency = 1,
  851. BorderSizePixel = 0,
  852. Name = 'Options',
  853. Position = UDim2.new(.8,0,.915,0),
  854. Size = UDim2.new(.2,0,0,30),
  855. ZIndex = 10,
  856. ClipsDescendants = true,
  857. CanvasSize = UDim2.new(0,0,0,0),
  858. CanvasPosition = Vector2.new(0, current_pos),
  859. ScrollBarThickness = 0,
  860. ScrollingEnabled = false,
  861. }
  862.  
  863. local UILL = Create('UIListLayout', Frame){
  864. Name = 'LayoutHandler',
  865. FillDirection = 'Vertical',
  866. HorizontalAlignment = 'Center',
  867. SortOrder = 'LayoutOrder',
  868. VerticalAlignment = 'Top'
  869. }
  870.  
  871. local Template = Create('TextButton'){
  872. BackgroundTransparency = 1,
  873. BorderSizePixel = 0,
  874. Name = 'Template',
  875. Size = UDim2.new(.9,0,0,30),
  876. Font = 'SciFi',
  877. Text = '',
  878. TextColor3 = Color3.fromRGB(255,255,255),
  879. TextScaled = true,
  880. TextWrapped = true,
  881. }
  882.  
  883. local TSC = Create('UISizeConstraint', Template){
  884. Name = 'TemplateSizeConstraint',
  885. MaxSize = Vector2.new(math.huge,30),
  886. }
  887.  
  888. Frame['ChildAdded']:Connect(function()
  889. ResizeUI(Frame, 30, 'TextButton')
  890. end)
  891.  
  892. for ___, packed_option in next, Aimbot.Menu do
  893. local option, val = unpack(packed_option)
  894. status[option] = val
  895.  
  896. local tp = Template:Clone()
  897. tp.LayoutOrder = sel_pos
  898. tp.Name = option
  899.  
  900. if option:match('Hide') then
  901. tp.Text = ':: ' .. option .. ' ::'
  902. tp.TextColor3 = Color3.fromRGB(220, 100, 220)
  903. else
  904. tp.Text = option .. ': ' .. tostring(val)
  905. if status[option] then
  906. tp.TextColor3 = Color3.fromRGB(0,255,0)
  907. else
  908. tp.TextColor3 = Color3.fromRGB(255,0,0)
  909. end
  910. end
  911.  
  912. table.insert(selection, tp)
  913. tp.Parent = Frame
  914. end
  915.  
  916. return Frame
  917. end
  918.  
  919. local ActiveUI = MakeAimUI()
  920. Aimbot.ActiveUI = ActiveUI
  921.  
  922. local function cast_ray(p0,p1,blacklist)
  923. local Part
  924. local __=0
  925. repeat
  926. __=__+1
  927. local cond=(p1-p0).magnitude < 999
  928. Part,p0=cast(workspace,ray(p0,cond and p1-p0 or (p1-p0).unit*999),blacklist)
  929. if Part then
  930. local pname = tostring(Part):lower()
  931. if Part.CanCollide == false or Part.Transparency >= 0.7 or ((pname:match('glass') or pname:match('window')) and Part.Transparency >= .3) or ffoc(Part.Parent, 'Humanoid') then
  932. blacklist[#blacklist+1]=Part
  933. Part=nil
  934. end
  935. elseif cond or __ > 15 then
  936. break
  937. end
  938. until Part
  939. return Part,p0
  940. end
  941.  
  942. Run.RenderStepped:Connect(function()
  943. if status['Enabled'] and (Inputs[Enum.UserInputType.MouseButton2] or status['AutoAim']) then
  944. local close, range, dot, face = false, math.huge, -1
  945. for model, player in next, (Targets) do
  946. if (player == Player) then continue end
  947. if not status['CamCheck'] and model:IsDescendantOf(PlayerCamera) then
  948. continue
  949. end
  950.  
  951. local modeModel = (player and Aimbot.ModeOptions[2]) or Aimbot.ModeOptions[3]
  952. local modeAimbot = Aimbot.ModeOptions[Aimbot.Mode]
  953. if (Aimbot.Mode ~= 1) and (modeModel ~= modeAimbot) then
  954. continue
  955. end
  956.  
  957. local hum = ffoc(model, 'Humanoid')
  958. local root = ffc(model, 'HumanoidRootPart')
  959. local head = ffc(model, 'Head')
  960.  
  961.  
  962. if root ~= nil then
  963. local camera135 = workspace.CurrentCamera
  964. local vector, onScreen = camera135:WorldToViewportPoint(root.position)
  965. if not onScreen then
  966. continue
  967. end
  968. end
  969.  
  970.  
  971. if not Inputs[Enum.UserInputType.MouseButton2] and not status['AutoAim'] then return end
  972.  
  973. if IgnorePlayersNamed[model['Name']] or (player and IgnorePlayersNamed[player['Name']]) or ffoc(model, 'ForceField') then continue end
  974.  
  975. if not root or (status['HeadsOnly'] and not head) then continue end
  976.  
  977. if hum and hum['Health'] > 0 then
  978. if player and status['TeamCheck'] then
  979. if Player['TeamColor'] == player['TeamColor'] then
  980. continue
  981. end
  982. end
  983.  
  984. local cc = PlayerCamera.CFrame
  985. local pos = ((head and (status['HeadsOnly'] or (status['Shake'] and math.random(1, 10) < 6))) and head.Position) or root.Position
  986. local dist = (pos-cc.p).magnitude
  987.  
  988. local RangeVal = Aimbot.RangeOptions[Aimbot.Range]
  989. if (RangeVal ~= math.huge) and (dist > RangeVal) then
  990. continue
  991. end
  992.  
  993. local hitPart;
  994. if status['RayCheck'] then
  995. hitPart = cast_ray(cc.p,pos,{PlayerCamera,PlayerModel})
  996. end
  997. if not (status['RayCheck'] and hitPart) or model:IsAncestorOf(hitPart) then
  998. local m = (pos-cc.p).unit:Dot(cc.lookVector)
  999.  
  1000. if (dist <= Aimbot.CloseRange) then
  1001. close = true
  1002. end
  1003.  
  1004. if close then
  1005. if (dist < range) then
  1006. dot, face, range = m, pos, dist
  1007. end
  1008. elseif (m > dot) then
  1009. dot, face, range = m, pos, dist
  1010. end
  1011. end
  1012. end
  1013. end
  1014.  
  1015. if face then
  1016.  
  1017.  
  1018. if IsScreenActive then
  1019. --PlayerCamera.CFrame = CFrame.new(PlayerCamera.CFrame.p,face) * CFrame.new(0,0,0.5)
  1020. local Pos, InFront = PlayerCamera:WorldToScreenPoint(face)
  1021. local TargetX, TargetY = (InFront and Pos.x) or -Pos.x, Pos.y
  1022. local MouseX, MouseY = PlayerMouse.X, PlayerMouse.Y
  1023. local NewX, NewY = math.abs(MouseX - TargetX), math.abs(MouseY - TargetY)
  1024. local Inc = GameSettings.MouseSensitivity * (17/3)
  1025.  
  1026. if (MouseX > TargetX) then
  1027. NewX = -NewX/Inc
  1028. else
  1029. NewX = NewX/Inc
  1030. end
  1031.  
  1032. if (MouseY > TargetY) then
  1033. NewY = -NewY/Inc
  1034. else
  1035. NewY = NewY/Inc
  1036. end
  1037. --mousemoveabs(TargetX/Inc, TargetY/Inc)
  1038. VirtualUser:MoveMouse(Vector2.new(TargetX/Inc, TargetY/Inc), PlayerCamera.CFrame)
  1039. end
  1040. end
  1041. end
  1042. end)
  1043. end
  1044. }
  1045.  
  1046.  
  1047. for __, option in next, (Settings.Menu.Defaults) do
  1048. local Name, Functional, Setting = unpack(option)
  1049. local Func = GetFunc(Functions, Name)
  1050. local NewOption = Button:Clone()
  1051.  
  1052. if Name == 'Menu' or Name:match('Written') then
  1053. NewOption['Status']['Style'] = 'Custom';
  1054. NewOption['Key']['TextStrokeColor3'] = Settings.Menu.Colors.Enabled
  1055. end
  1056.  
  1057. NewOption['Text'].Text = Name
  1058. NewOption['Key'].Text = '[ '.. ((typeof(Setting) == 'EnumItem' and Setting.Name) or Setting) .. ' ]'
  1059. NewOption.Parent = Menu['Main']['Buttons']
  1060.  
  1061. if Func then
  1062. NewOption['Text']['MouseButton1Down']:Connect(function()
  1063. if not Functional then return end
  1064. if NewOption.Status.Style.Name == 'DropShadow' then
  1065. NewOption.Status.Style = 'Custom'
  1066. NewOption['Key']['TextStrokeColor3'] = Settings.Menu.Colors.Enabled
  1067. elseif NewOption.Status.Style.Name == 'Custom' and not Name:match('Aimbot') then
  1068. NewOption.Status.Style = 'DropShadow'
  1069. NewOption['Key']['TextStrokeColor3'] = Settings.Menu.Colors.Disabled
  1070. end
  1071.  
  1072. if (Name == 'Aimbot') and not Settings.Aimbot.Enabled then
  1073. Settings.Aimbot.Enabled = true
  1074.  
  1075. -- Activate Mode UI --
  1076. Settings.Aimbot.ModeUI.Status.Style = 'Custom'
  1077. Settings.Aimbot.ModeUI['Key']['TextStrokeColor3'] = Settings.Menu.Colors.Enabled
  1078. ----------------------
  1079.  
  1080. Func(Settings.Aimbot)
  1081.  
  1082. elseif (Name == 'Floaty') then
  1083. Func('Toggle')
  1084.  
  1085. else
  1086. Func(true)
  1087. end
  1088. end)
  1089. end
  1090.  
  1091. if Name:match('Chams') then
  1092. local ChamSettings = Settings.Chams
  1093. local TeamSettings = ChamSettings.Team
  1094. local EnemySettings = ChamSettings.Enemy
  1095.  
  1096. if Name == 'Team Chams' then
  1097. NewOption['Key'].Text = '[ \''..TeamSettings.Color[1]..'\' ]'
  1098.  
  1099. NewOption['Key']['MouseButton1Down']:Connect(function()
  1100. local ChamColors = ChamSettings.Colors
  1101. if not TeamSettings.Enabled then return end
  1102. local Tab, Pos = GetColor(ChamColors, TeamSettings.Color[1])
  1103.  
  1104. if (Pos + 1) < #ChamColors then
  1105. TeamSettings.Color = ChamColors[Pos + 1]
  1106. else
  1107. TeamSettings.Color = ChamColors[1]
  1108. end
  1109.  
  1110. NewOption['Key'].Text = '[ \''..TeamSettings.Color[1]..'\' ]'
  1111. Func()
  1112. end)
  1113.  
  1114. elseif Name == 'Enemy Chams' then
  1115. NewOption['Key'].Text = '[ \''..EnemySettings.Color[1]..'\' ]'
  1116.  
  1117. NewOption['Key']['MouseButton1Down']:Connect(function()
  1118. local ChamColors = ChamSettings.Colors
  1119. if not EnemySettings.Enabled then return end
  1120. local Tab, Pos = GetColor(ChamColors, EnemySettings.Color[1])
  1121.  
  1122. if (Pos + 1) < #ChamColors then
  1123. EnemySettings.Color = ChamColors[Pos + 1]
  1124. else
  1125. EnemySettings.Color = ChamColors[1]
  1126. end
  1127.  
  1128. NewOption['Key'].Text = '[ \''..EnemySettings.Color[1]..'\' ]'
  1129. Func()
  1130. end)
  1131.  
  1132. elseif Name == 'Toggle Chams' then
  1133. NewOption['Key'].Text = '[ \'' .. ChamSettings.Transparency .. '\' ]'
  1134.  
  1135. NewOption['Key']['MouseButton1Down']:Connect(function()
  1136. if not ChamSettings.Enabled then return end
  1137.  
  1138. local Trans = ChamSettings.Transparency
  1139. ChamSettings.Transparency = (Trans < .8 and Trans + (1/10)) or 0
  1140.  
  1141. for __, handle in next, (Chams:GetDescendants()) do
  1142. if handle:IsA('BoxHandleAdornment') then
  1143. handle.Transparency = ChamSettings.Transparency
  1144. end
  1145. end
  1146.  
  1147. NewOption['Key'].Text = '[ \'' .. ChamSettings.Transparency .. '\' ]'
  1148. end)
  1149. end
  1150. elseif Name == 'Fullbright' then
  1151. local Fullbright = Settings.Fullbright
  1152. Fullbright.UI = NewOption
  1153.  
  1154. NewOption['Key']['MouseButton1Down']:Connect(function()
  1155. if not Fullbright.Enabled then return end
  1156. if Fullbright.Current < #Fullbright.Options then
  1157. Fullbright.Current = Fullbright.Current + 1
  1158. else
  1159. Fullbright.Current = 1
  1160. end
  1161. Func(false)
  1162. end)
  1163.  
  1164. elseif Name == 'ESP' then
  1165. local ESP = Settings.ESP
  1166. NewOption['Key'].Text = '[ \'' .. ESP.Options[ESP.Current] .. '\' ]'
  1167.  
  1168. NewOption['Key']['MouseButton1Down']:Connect(function()
  1169. if not ESP.Enabled then return end
  1170. if ESP.Current < #ESP.Options then
  1171. ESP.Current = ESP.Current + 1
  1172. else
  1173. ESP.Current = 1
  1174. end
  1175.  
  1176. Events.ESP:Fire('change')
  1177. NewOption['Key'].Text = '[ \'' .. ESP.Options[ESP.Current] .. '\' ]'
  1178. end)
  1179. elseif Name == 'Aimbot' then
  1180. local Aimbot = Settings.Aimbot
  1181. local RangeVal = Aimbot.RangeOptions[Aimbot.Range]
  1182. if RangeVal == math.huge then
  1183. NewOption['Key'].Text = '[ ∞ ]'
  1184. else
  1185. NewOption['Key'].Text = '[ ' .. RangeVal .. ' ]'
  1186. end
  1187.  
  1188. NewOption['Key']['MouseButton1Down']:Connect(function()
  1189. if not Aimbot.Enabled then return end
  1190. if Aimbot.Range < #Aimbot.RangeOptions then
  1191. Aimbot.Range = Aimbot.Range + 1
  1192. else
  1193. Aimbot.Range = 1
  1194. end
  1195.  
  1196. local RangeVal = Aimbot.RangeOptions[Aimbot.Range]
  1197. if RangeVal == math.huge then
  1198. NewOption['Key'].Text = '[ ∞ ]'
  1199. else
  1200. NewOption['Key'].Text = '[ ' .. RangeVal .. ' ]'
  1201. end
  1202. end)
  1203. elseif Name == 'Aimbot Mode' then
  1204. local Aimbot = Settings.Aimbot
  1205. Aimbot.ModeUI = NewOption
  1206. NewOption['Key'].Text = '[ \'' .. Aimbot.ModeOptions[Aimbot.Mode] .. '\' ]'
  1207.  
  1208. NewOption['Key']['MouseButton1Down']:Connect(function()
  1209. if not Aimbot.Enabled then return end
  1210. if Aimbot.Mode < #Aimbot.ModeOptions then
  1211. Aimbot.Mode = Aimbot.Mode + 1
  1212. else
  1213. Aimbot.Mode = 1
  1214. end
  1215.  
  1216. NewOption['Key'].Text = '[ \'' .. Aimbot.ModeOptions[Aimbot.Mode] .. '\' ]'
  1217. end)
  1218. elseif Name == 'Floaty' then
  1219. local Floaty = Settings.Floaty
  1220. Floaty.UI = NewOption
  1221.  
  1222. NewOption['Key']['MouseButton1Down']:Connect(function()
  1223. if not Floaty.Enabled then return end
  1224. if Floaty.Current < #Floaty.Options then
  1225. Floaty.Current = Floaty.Current + 1
  1226. else
  1227. Floaty.Current = 1
  1228. end
  1229. Func(Floaty.Options[Floaty.Current])
  1230. end)
  1231. end
  1232. end
  1233.  
  1234. --[[Players.PlayerRemoving:Connect(function(player)
  1235. local ESP = ESPFolder:FindFirstChild(player['Name'])
  1236.  
  1237. if ESP then ESP['Parent'] = nil end
  1238. end)]]
  1239.  
  1240. local function toggle(button)
  1241. local Aimbot = Settings.Aimbot
  1242. local ActiveUI = Aimbot.ActiveUI
  1243. local status = Aimbot.Status
  1244. local text = button['Text']
  1245. if text:match('Hide') then
  1246. status['Hide Menu'] = not status['Hide Menu']
  1247. if (status['Hide Menu']) then
  1248. ActiveUI.Visible = false
  1249. else
  1250. ActiveUI.Visible = true
  1251. end
  1252. return
  1253. end
  1254.  
  1255. local option, val = text:match('%s*(.*)%s*:%s*(.*)')
  1256. status[option] = not status[option]
  1257.  
  1258. if status[option] then
  1259. button.TextColor3 = Color3.fromRGB(0,255,0)
  1260. else
  1261. button.TextColor3 = Color3.fromRGB(255,0,0)
  1262. end
  1263.  
  1264. button.Text = option .. ': ' .. tostring(status[option])
  1265. end
  1266.  
  1267. Input.InputBegan:Connect(function(input, procc)
  1268. Keys[input.KeyCode], Inputs[input.UserInputType] = true, true
  1269.  
  1270. if procc then return end
  1271. if not input.UserInputType == Enum.UserInputType.Keyboard then
  1272. return
  1273. end
  1274.  
  1275. -- MENU/Floaty --
  1276. if input.KeyCode == Enum.KeyCode.Delete then
  1277. Functions['Menu']()
  1278. elseif input.KeyCode == Enum.KeyCode.B then
  1279. Functions['Floaty']('Up')
  1280. elseif input.KeyCode == Enum.KeyCode.N then
  1281. Functions['Floaty']('Still')
  1282. elseif input.KeyCode == Enum.KeyCode.M then
  1283. Functions['Floaty']('Down')
  1284. end
  1285.  
  1286. -- AIMBOT --
  1287. local Aimbot = Settings.Aimbot
  1288. local ActiveUI = Aimbot.ActiveUI
  1289. if not ActiveUI then return end
  1290.  
  1291. if input.KeyCode == Enum.KeyCode.H then
  1292. toggle(Aimbot.Selection[Aimbot.Selected])
  1293.  
  1294. elseif not Aimbot.Status['Hide Menu'] then
  1295. if input.KeyCode == Enum.KeyCode.U then
  1296. if (Aimbot.Selected > 1) then
  1297. Aimbot.Selected = Aimbot.Selected - 1
  1298. else
  1299. Aimbot.Selected = #Aimbot.Selection
  1300. end
  1301.  
  1302. elseif input.KeyCode == Enum.KeyCode.J then
  1303. if (Aimbot.Selected < #Aimbot.Selection) then
  1304. Aimbot.Selected = Aimbot.Selected + 1
  1305. else
  1306. Aimbot.Selected = 1
  1307. end
  1308. end
  1309.  
  1310. Aimbot.Scrolled = 30 * (Aimbot.Selected - 1)
  1311. ActiveUI.CanvasPosition = Vector2.new(0, Aimbot.Scrolled)
  1312. end
  1313. end)
  1314.  
  1315. Input.InputEnded:Connect(function(input, procc)
  1316. Keys[input.KeyCode], Inputs[input.UserInputType] = false, false
  1317. end)
  1318.  
  1319. local function TargetHandler(model)
  1320. if Targets[model] == nil then
  1321. local event;
  1322. Targets[model] = Players:GetPlayerFromCharacter(model) or false
  1323.  
  1324. Events.Targets:Fire('added', model)
  1325. if not model:IsDescendantOf(World) then
  1326. if Targets[model] ~= nil then
  1327. Events.Targets:Fire('removed', model)
  1328. Targets[model] = nil
  1329. end
  1330.  
  1331. return
  1332. end
  1333.  
  1334. event = model:GetPropertyChangedSignal('Parent'):Connect(function()
  1335. if model:IsDescendantOf(World) then return end
  1336.  
  1337. if Targets[model] ~= nil then
  1338. Events.Targets:Fire('removed', model)
  1339. Targets[model] = nil
  1340. end
  1341.  
  1342. event:Disconnect()
  1343. end)
  1344. end
  1345. end
  1346.  
  1347. Player['CharacterAdded']:Connect(function(char)
  1348. PlayerModel = char
  1349. end)
  1350.  
  1351. for __, target in next, (World:GetDescendants()) do
  1352. coroutine.wrap(function()
  1353. if target:IsA('Model') and (target ~= PlayerModel) then
  1354. local hrp = target:WaitForChild('HumanoidRootPart', 1)
  1355. if hrp and hrp:IsA('BasePart') then
  1356. TargetHandler(target)
  1357. end
  1358. end
  1359. end)()
  1360. end
  1361.  
  1362. World.DescendantAdded:Connect(function(target)
  1363. if target:IsA('Model') and (target ~= PlayerModel) then
  1364. local hrp = target:WaitForChild('HumanoidRootPart', 1)
  1365. if hrp and hrp:IsA('BasePart') then
  1366. coroutine.wrap(function()
  1367. TargetHandler(target)
  1368. end)()
  1369. end
  1370. end
  1371. end)
  1372.  
  1373. Menu.Parent = CoreGUI
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement