Bad Business AIMBOT – ESP – GUN MODS & MORE! – OPEN SOURCE


SUBMITTED BY: burner123

DATE: Dec. 29, 2021, 5:55 p.m.

FORMAT: Text only

SIZE: 21.6 kB

HITS: 597

  1. -- Services
  2. local Players = game:GetService("Players")
  3. local RunService = game:GetService("RunService")
  4. local UserInputService = game:GetService("UserInputService")
  5. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  6. -- Modules
  7. local Ts = require(ReplicatedStorage.TS)
  8. -- Player
  9. local Player = Players.LocalPlayer
  10. local Mouse = Player:GetMouse()
  11. local CurrentCamera = workspace.CurrentCamera
  12. -- Library
  13. local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/WetCheezit/UI-Libs/main/uwuware.lua"))()
  14. local Math = loadstring(game:HttpGet("https://raw.githubusercontent.com/iRay888/Ray/main/Math"))()
  15. -- Window(s)
  16. local CombatWindow = Library:CreateWindow("Combat")
  17. local EspWindow = Library:CreateWindow("Esp")
  18. local MiscWindow = Library:CreateWindow("Misc")
  19. local Settings = Library:CreateWindow("Settings")
  20. -- Folders
  21. local Main = CombatWindow:AddFolder("Aimbot")
  22. local KnifeAura = CombatWindow:AddFolder("Knife Aura")
  23. local EspMain = EspWindow:AddFolder("Main")
  24. local EspSettings = EspWindow:AddFolder("Settings")
  25. local GunMods = MiscWindow:AddFolder("Gun Mods")
  26. local Misc = MiscWindow:AddFolder("Movement")
  27. local MainSettings = Settings:AddFolder("Settings")
  28. Main:AddToggle({text = "Enabled", flag = "aimbot_enabled"})
  29. --Main:AddToggle({text = "Visible Check", flag = "aimbot_visiblecheck"})
  30. Main:AddList({text = "Aimbot type", flag = "aimbot_type", value = "Redirection", values = {"Redirection", "Lock on"}})
  31. Main:AddList({text = "Hitpart", flag = "aimbot_hitpart", value = "Abdomen", values = {"Abdomen", "Hips", "Chest", "Neck", "Head"}})
  32. Main:AddSlider({text = "Redirection miss %", flag = "aimbot_misspercent", min = 0, max = 100, value = 0})
  33. Main:AddSlider({text = "Aimbot smoothing", flag = "aimbot_smoothing", min = 3, max = 10, value = 5, float = 0.1})
  34. Main:AddToggle({text = "Fov circle", flag = "aimbot_fovcircle"})
  35. Main:AddSlider({text = "Fov radius", flag = "aimbot_fovradius", min = 10, max = 800, value = 100})
  36. Main:AddColor({text = "Fov color", flag = "aimbot_fovcolor", value = Color3.fromRGB(255,255,255)})
  37. KnifeAura:AddToggle({text = "Enabled", flag = "knifeaura_enabled"})
  38. KnifeAura:AddToggle({text = "Auto knife", flag = "knifeaura_autoknife"})
  39. KnifeAura:AddToggle({text = "Kill all", flag = "knifeaura_killall"})
  40. KnifeAura:AddToggle({text = "Instant teleport", flag = "knifeaura_instanttp"})
  41. KnifeAura:AddSlider({text = "Radius", flag = "knifeaura_radius", min = 0, max = 20, suffix = " Studs"})
  42. KnifeAura:AddList({text = "Hitpart", flag = "knifeaura_hitpart", values = {"Abdomen", "Hips", "Chest", "Neck", "Head"}})
  43. KnifeAura:AddLabel({text = "Turn off fly with kill all"})
  44. GunMods:AddToggle({text = "No recoil", flag = "gun_norecoil"})
  45. GunMods:AddToggle({text = "No spread", flag = "gun_nospread"})
  46. Misc:AddToggle({text = "Click TP", flag = "misc_clicktp"})
  47. Misc:AddBind({text = "TP Key", flag = "misc_clicktpbind", key = "Z", callback = function()
  48. local Character = Ts.Characters:GetCharacter(Player)
  49. if (Character and Character:FindFirstChild("Root") and Library.flags.misc_clicktp) then
  50. Character.Root.CFrame = Mouse.Hit * CFrame.new(0, 5, 0)
  51. end
  52. end})
  53. Misc:AddToggle({text = "Fly", flag = "misc_fly"})
  54. Misc:AddSlider({text = "Fly speed", flag = "misc_flyspeed", min = 0, max = 100, value = 100})
  55. EspMain:AddToggle({text = "Enabled", flag = "esp_enabled"})
  56. EspMain:AddToggle({text = "Names", flag = "esp_names"})
  57. EspMain:AddToggle({text = "Distance", flag = "esp_distance"})
  58. EspMain:AddToggle({text = "Weapons", flag = "esp_weapons"})
  59. EspMain:AddToggle({text = "Boxes", flag = "esp_boxes"})
  60. EspMain:AddToggle({text = "Healthbars", flag = "esp_healthbars"})
  61. EspSettings:AddList({text = "Text casing", flag = "esp_textcasing", values = {"Normal", "UPPERCASE", "lowercase"}})
  62. MainSettings:AddBind({text = "Open / Close", key = "RightShift", callback = function()
  63. Library:Close()
  64. end})
  65. MainSettings:AddButton({text = "Copy discord invite", callback = function()
  66. setclipboard("https://discord.gg/etKPjb4n")
  67. end})
  68. MainSettings:AddLabel({text = "WetCheezit#4345"})
  69. MainSettings:AddLabel({text = "siper#9938"})
  70. -- Functions
  71. local function CheckTeam(Target)
  72. return Ts.Teams:GetPlayerTeam(Target) ~= Ts.Teams:GetPlayerTeam(Player)
  73. end
  74. local function GetClosest(Fov)
  75. local Target, Closest = nil, Fov or math.huge
  76. for i,v in pairs(Players:GetPlayers()) do
  77. local Character = Ts.Characters:GetCharacter(v)
  78. if (v ~= Player and CheckTeam(v)) then
  79. if (Character and Character:FindFirstChild("Hitbox") and Character.Hitbox:FindFirstChild(Library.flags.aimbot_hitpart)) then
  80. local Position, OnScreen = CurrentCamera:WorldToScreenPoint(Character.Hitbox[Library.flags.aimbot_hitpart].Position)
  81. local Distance = (Vector2.new(Position.X, Position.Y) - Vector2.new(Mouse.X, Mouse.Y)).Magnitude
  82. if (Distance < Closest and OnScreen) then
  83. Closest = Distance
  84. Target = v
  85. end
  86. end
  87. end
  88. end
  89. return Target
  90. end
  91. local function GetDistanceClosest(MaxDist)
  92. local Target, Closest = nil, MaxDist or math.huge
  93. for i,v in pairs(Players:GetPlayers()) do
  94. local Character = Ts.Characters:GetCharacter(v)
  95. if (v ~= Player and CheckTeam(v)) then
  96. if (Character and Character:FindFirstChild("Hitbox") and Character.Hitbox:FindFirstChild(Library.flags.aimbot_hitpart)) then
  97. local LocalCharacter = Ts.Characters:GetCharacter(Player)
  98. if (LocalCharacter) then
  99. local LocalRoot = LocalCharacter:FindFirstChild("Root")
  100. local Root = Character:FindFirstChild("Root")
  101. local Distance = (LocalRoot.Position - Root.Position).Magnitude
  102. if (Distance < Closest) then
  103. Closest = Distance
  104. Target = v
  105. end
  106. end
  107. end
  108. end
  109. end
  110. return Target
  111. end
  112. --[[local function IsVisible(Target)
  113. local Character = Ts.Characters:GetCharacter(Target)
  114. local RootPos = Character.Root.Position
  115. local IgnoreList = { CurrentCamera, Character, Character.Root, Ts.Characters:GetCharacter(Player) }
  116. return workspace:FindPartOnRayWithIgnoreList(Ray.new(CurrentCamera.CFrame.p, RootPos - CurrentCamera.CFrame.p), IgnoreList) == nil
  117. end]]--
  118. local function GetKnifeModel()
  119. local Character = Ts.Characters:GetCharacter(Player)
  120. if (Character and Character:FindFirstChild("Backpack") and Character.Backpack:FindFirstChild("Melee")) then
  121. return Character.Backpack.Melee.Value
  122. end
  123. return nil
  124. end
  125. local EspCache = {}
  126. local function ParseText(Text)
  127. local Casing = Library.flags.esp_textcasing
  128. local NewText = Text
  129. if (Casing == "UPPERCASE") then
  130. NewText = NewText:upper()
  131. elseif (Casing == "lowercase") then
  132. NewText = NewText:lower()
  133. end
  134. return NewText
  135. end
  136. local function GetBoundingBox(Character)
  137. local Data = {}
  138. for i,v in pairs(Character.Body:GetChildren()) do
  139. for i2, v2 in pairs(Math.getpartinfo2(v.CFrame, v.Size)) do
  140. Data[#Data + 1] = v2
  141. end
  142. end
  143. return Math.getposlist2(Data)
  144. end
  145. local function Create(Class, Properties)
  146. local Object = Drawing.new(Class)
  147. for i,v in pairs(Properties) do
  148. Object[i] = v
  149. end
  150. return Object
  151. end
  152. local function AddEsp(Player)
  153. if (Player == Players.LocalPlayer) then
  154. return
  155. end
  156. local Objects = {
  157. Box = Create("Quad", {
  158. Visible = false,
  159. Color = Color3.new(1, 1, 1),
  160. Thickness = 1,
  161. Filled = false,
  162. ZIndex = 2,
  163. }),
  164. BoxOutline = Create("Quad", {
  165. Visible = false,
  166. Color = Color3.new(),
  167. Thickness = 3,
  168. Filled = false,
  169. ZIndex = 1,
  170. }),
  171. Name = Create("Text", {
  172. Visible = false,
  173. Color = Color3.new(1, 1, 1),
  174. Text = Player.Name,
  175. Size = 13,
  176. Center = true,
  177. Outline = true,
  178. OutlineColor = Color3.new(),
  179. Font = Drawing.Fonts.Plex
  180. }),
  181. Distance = Create("Text", {
  182. Visible = false,
  183. Color = Color3.new(1, 1, 1),
  184. Size = 13,
  185. Center = true,
  186. Outline = true,
  187. OutlineColor = Color3.new(),
  188. Font = Drawing.Fonts.Plex
  189. }),
  190. Weapon = Create("Text", {
  191. Visible = false,
  192. Color = Color3.new(1, 1, 1),
  193. Size = 13,
  194. Center = false,
  195. Outline = true,
  196. OutlineColor = Color3.new(),
  197. Font = Drawing.Fonts.Plex
  198. }),
  199. Healthbar = Create("Square", {
  200. Visible = false,
  201. Color = Color3.new(0, 1, 0),
  202. Thickness = 1,
  203. Filled = false,
  204. ZIndex = 2
  205. }),
  206. HealthbarOutline = Create("Square", {
  207. Visible = false,
  208. Color = Color3.new(),
  209. Thickness = 3,
  210. Filled = false,
  211. ZIndex = 1
  212. }),
  213. }
  214. local Connection; Connection = RunService.RenderStepped:Connect(function()
  215. local Character = Ts.Characters:GetCharacter(Player)
  216. if (Character and Character:FindFirstChild("Root") and CheckTeam(Player)) then
  217. local _, OnScreen = CurrentCamera:WorldToViewportPoint(Character.Root.Position)
  218. local CanShow = OnScreen and Library.flags.esp_enabled
  219. if (CanShow) then
  220. local Data = GetBoundingBox(Character)
  221. local Health, MaxHealth = Character.Health.Value, Character.Health.MaxHealth.Value
  222. local DistY = Data.Positions.TopLeft.Y - Data.Positions.BottomRight.Y
  223. local HealthbarSize = Vector2.new(2, DistY)
  224. local HealthbarPosition = Vector2.new(Data.Positions.TopLeft.X - (4 + Objects.Healthbar.Size.X), Data.Positions.BottomLeft.Y)
  225. Objects.Box.Visible = CanShow and Library.flags.esp_boxes
  226. Objects.BoxOutline.Visible = CanShow and Library.flags.esp_boxes
  227. for i,v in pairs(Data.Quad) do
  228. Objects.Box[i] = v
  229. Objects.BoxOutline[i] = v
  230. end
  231. Objects.Name.Visible = CanShow and Library.flags.esp_names
  232. Objects.Name.Text = ParseText(Player.Name)
  233. Objects.Name.Position = Vector2.new(Data.Positions.Middle.X, Data.Positions.TopLeft.Y - 15)
  234. Objects.Distance.Visible = CanShow and Library.flags.esp_distance
  235. Objects.Distance.Text = ParseText(math.floor((Character.Root.Position - CurrentCamera.CFrame.p).Magnitude) .. " Studs")
  236. Objects.Distance.Position = Vector2.new(Data.Positions.Middle.X, Data.Positions.BottomLeft.Y + 3)
  237. Objects.Weapon.Visible = CanShow and Library.flags.esp_weapons
  238. Objects.Weapon.Text = ParseText(Character.Backpack.Equipped.Value and Character.Backpack.Equipped.Value.Name or "UNKNOWN")
  239. Objects.Weapon.Position = Vector2.new(Data.Positions.TopRight.X + 4, Data.Positions.TopRight.Y - 2)
  240. Objects.Healthbar.Visible = CanShow and Library.flags.esp_healthbars
  241. Objects.Healthbar.Size = Vector2.new(HealthbarSize.X, HealthbarSize.Y * math.clamp((Health / MaxHealth), 0, 1))
  242. Objects.Healthbar.Position = HealthbarPosition
  243. Objects.HealthbarOutline.Visible = CanShow and Library.flags.esp_healthbars
  244. Objects.HealthbarOutline.Size = HealthbarSize
  245. Objects.HealthbarOutline.Position = HealthbarPosition
  246. else
  247. for i,v in pairs(Objects) do
  248. v.Visible = false
  249. end
  250. end
  251. else
  252. for i,v in pairs(Objects) do
  253. v.Visible = false
  254. end
  255. end
  256. end)
  257. EspCache[Player] = {
  258. Objects = Objects,
  259. Connection = Connection,
  260. }
  261. end
  262. local function RemoveEsp(Player)
  263. local Data = EspCache[Player]
  264. if (Data) then
  265. Data.Connection:Disconnect()
  266. for i,v in pairs(Data.Objects) do
  267. v:Remove()
  268. v = nil
  269. end
  270. end
  271. end
  272. Library:Init()
  273. -- Fov
  274. local CircleInline = Drawing.new("Circle")
  275. local CircleOutline = Drawing.new("Circle")
  276. RunService.Heartbeat:Connect(function()
  277. CircleInline.Radius = Library.flags.aimbot_fovradius
  278. CircleInline.Thickness = 2
  279. CircleInline.Position = Vector2.new(Mouse.X, Mouse.Y + 36)
  280. CircleInline.Transparency = 1
  281. CircleInline.Color = Library.flags.aimbot_fovcolor
  282. CircleInline.Visible = Library.flags.aimbot_fovcircle
  283. CircleInline.ZIndex = 2
  284. CircleOutline.Radius = Library.flags.aimbot_fovradius
  285. CircleOutline.Thickness = 4
  286. CircleOutline.Position = Vector2.new(Mouse.X, Mouse.Y + 36)
  287. CircleOutline.Transparency = 1
  288. CircleOutline.Color = Color3.new()
  289. CircleOutline.Visible = Library.flags.aimbot_fovcircle
  290. CircleOutline.ZIndex = 1
  291. end)
  292. -- Aimbot
  293. local Target
  294. local MeleeTarget
  295. RunService.Heartbeat:Connect(function()
  296. Target = GetClosest(Library.flags.aimbot_fovradius)
  297. MeleeTarget = GetDistanceClosest(Library.flags.knifeaura_radius)
  298. end)
  299. RunService.Heartbeat:Connect(function()
  300. if (Target) then
  301. local Character = Ts.Characters:GetCharacter(Target)
  302. if (Character and Character.Hitbox[Library.flags.aimbot_hitpart]) then
  303. local Position, OnScreen = CurrentCamera:WorldToScreenPoint(Character.Hitbox[Library.flags.aimbot_hitpart].Position)
  304. if (Library.flags.aimbot_visiblecheck and not IsVisible(Target)) then
  305. return
  306. end
  307. if (OnScreen and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) and Library.flags.aimbot_enabled and Library.flags.aimbot_type == "Lock on") then
  308. mousemoverel((Position.X - Mouse.X) / Library.flags.aimbot_smoothing, (Position.Y - Mouse.Y) / Library.flags.aimbot_smoothing)
  309. end
  310. end
  311. end
  312. end)
  313. RunService.Heartbeat:Connect(function()
  314. local KnifeModel = GetKnifeModel()
  315. if (Library.flags.knifeaura_enabled and Library.flags.knifeaura_autoknife and MeleeTarget and KnifeModel) then
  316. local Character = Ts.Characters:GetCharacter(MeleeTarget)
  317. if (Character) then
  318. local Hitbox = Character:FindFirstChild("Hitbox")
  319. if (Hitbox) then
  320. Ts.Network:Fire("Item_Melee", "StabBegin", KnifeModel)
  321. Ts.Network:Fire("Item_Melee", "Stab", KnifeModel, Hitbox[Library.flags.knifeaura_hitpart], Hitbox[Library.flags.knifeaura_hitpart].Position, Vector3.new())
  322. end
  323. end
  324. end
  325. end)
  326. local CanKnifeRun = true
  327. RunService.Heartbeat:Connect(function()
  328. if (not CanKnifeRun) then
  329. return
  330. end
  331. CanKnifeRun = false
  332. local KnifeModel = GetKnifeModel()
  333. if (Library.flags.knifeaura_enabled and Library.flags.knifeaura_killall and KnifeModel) then
  334. local Target = GetDistanceClosest()
  335. if (Target) then
  336. local Character = Ts.Characters:GetCharacter(Target)
  337. local LocalCharacter = Ts.Characters:GetCharacter(Player)
  338. if (LocalCharacter) then
  339. local Magnitude = (LocalCharacter.Root.Position - Character.Root.Position).Magnitude
  340. local Mag
  341. local BreakAmount
  342. if (Library.flags.knifeaura_instanttp) then
  343. BreakAmount = math.huge
  344. else
  345. BreakAmount = 50
  346. end
  347. if (Magnitude > BreakAmount) then
  348. for i = 0, Magnitude, 0.05 do
  349. Mag = (LocalCharacter.Root.Position - Character.Root.Position).Magnitude
  350. if (Mag <= BreakAmount) then
  351. break
  352. end
  353. LocalCharacter.Root.CanCollide = false
  354. LocalCharacter.Root.CFrame = LocalCharacter.Root.CFrame:Lerp(Character.Root.CFrame, i / Mag)
  355. task.wait(0.025)
  356. end
  357. end
  358. LocalCharacter.Root.CanCollide = true
  359. LocalCharacter.Root.CFrame = Character.Root.CFrame * CFrame.new(0, 0, 5)
  360. Ts.Network:Fire("Item_Melee", "StabBegin", KnifeModel)
  361. Ts.Network:Fire("Item_Melee", "Stab", KnifeModel, Character.Hitbox[Library.flags.knifeaura_hitpart], Character.Hitbox[Library.flags.knifeaura_hitpart].Position, Vector3.new())
  362. end
  363. end
  364. end
  365. task.wait(0.35)
  366. CanKnifeRun = true
  367. end)
  368. local OldLookVector = Ts.Input.Reticle.LookVector; do
  369. Ts.Input.Reticle.LookVector = newcclosure(function(...)
  370. if (Library.flags.gun_nospread) then
  371. return CurrentCamera.CFrame.LookVector
  372. end
  373. return OldLookVector(...)
  374. end)
  375. debug.setupvalue(Ts.Input.Reticle.GetPosition, 2, Ts.Input.Reticle.LookVector)
  376. end
  377. local OldFire = Ts.Camera.Recoil.Fire; do
  378. Ts.Camera.Recoil.Fire = newcclosure(function(...)
  379. if (Library.flags.gun_norecoil) then
  380. return
  381. end
  382. return OldFire(...)
  383. end)
  384. debug.setupvalue(Ts.Camera.Recoil.Update, 2, Ts.Camera.Recoil.Fire)
  385. end
  386. RunService.Stepped:Connect(function()
  387. local Character = Ts.Characters:GetCharacter(Player)
  388. if (Character) then
  389. local Root = Character:FindFirstChild("Root")
  390. if (Root) then
  391. if (Library.flags.misc_fly) then
  392. local LookVector = CurrentCamera.CFrame.LookVector
  393. local RightVector = CurrentCamera.CFrame.RightVector
  394. local UpVector = Root.CFrame.UpVector
  395. local TargetVelocity = Vector3.new()
  396. local Moving = false
  397. if (UserInputService:IsKeyDown("W")) then
  398. TargetVelocity = TargetVelocity + LookVector
  399. Moving = true
  400. end
  401. if (UserInputService:IsKeyDown("S")) then
  402. TargetVelocity = TargetVelocity + -LookVector
  403. Moving = true
  404. end
  405. if (UserInputService:IsKeyDown("A")) then
  406. TargetVelocity = TargetVelocity + -RightVector
  407. Moving = true
  408. end
  409. if (UserInputService:IsKeyDown("D")) then
  410. TargetVelocity = TargetVelocity + RightVector
  411. Moving = true
  412. end
  413. if (UserInputService:IsKeyDown("Space")) then
  414. TargetVelocity = TargetVelocity + UpVector
  415. Moving = true
  416. end
  417. if (UserInputService:IsKeyDown("LeftShift")) then
  418. TargetVelocity = TargetVelocity + -UpVector
  419. Moving = true
  420. end
  421. Root.Anchored = not Moving
  422. Root.Velocity = TargetVelocity * Library.flags.misc_flyspeed
  423. else
  424. Root.Anchored = false
  425. end
  426. end
  427. end
  428. end)
  429. -- Esp
  430. for i,v in pairs(Players:GetPlayers()) do
  431. AddEsp(v)
  432. end
  433. Players.PlayerAdded:Connect(function(Player)
  434. AddEsp(Player)
  435. end)
  436. Players.PlayerRemoving:Connect(function(Player)
  437. RemoveEsp(Player)
  438. end)
  439. local Old; Old = hookmetamethod(game, "__namecall", function(Self, ...)
  440. local Args = {...}
  441. local Method = getnamecallmethod()
  442. if (not checkcaller() and Method == "FireServer" and Self.Name == "Projectiles") then
  443. if (Target and Library.flags.aimbot_enabled and Library.flags.aimbot_type == "Redirection") then
  444. local Character = Ts.Characters:GetCharacter(Target)
  445. if (Character and Character.Hitbox and Character.Hitbox[Library.flags.aimbot_hitpart] and Args[1] == "__Hit") then
  446. --[[if (Library.flags.aimbot_visiblecheck and not IsVisible(Target)) then
  447. return
  448. end]]--
  449. if (math.random(0, 100) >= Library.flags.aimbot_misspercent) then
  450. Args[3] = Character.Hitbox[Library.flags.aimbot_hitpart].Position
  451. Args[4] = Character.Hitbox[Library.flags.aimbot_hitpart]
  452. Args[6] = Character
  453. end
  454. end
  455. end
  456. elseif (Self.Name == "Item_Melee" and Args[1] == "Stab" and Method == "FireServer") then
  457. if (MeleeTarget and Library.flags.knifeaura_enabled) then
  458. local Character = Ts.Characters:GetCharacter(MeleeTarget)
  459. Args[3] = Character.Hitbox[Library.flags.knifeaura_hitpart]
  460. Args[4] = Character.Hitbox[Library.flags.knifeaura_hitpart].Position
  461. Args[5] = Vector3.new()
  462. end
  463. end
  464. return Old(Self, unpack(Args))
  465. end)

comments powered by Disqus