Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local UserInputService = game:GetService("UserInputService")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local RunService = game:GetService("RunService")
- local Players = game:GetService("Players")
- local Teams = game:GetService("Teams")
- local LocalPlayer = Players.LocalPlayer
- local Exploit = (syn and "Synapse")
- local HttpRequest = syn.request
- local GetGarbageCollection = getgc
- local MoveMouse = mousemoverel
- local ProtectGui = syn.protect_gui
- local IsLuaClosure = islclosure
- local IsExploitFunction = is_synapse_function
- local NewCClosure = newcclosure
- local HookFunction = hookfunction
- local WindowActive = iswindowactive
- local GetConnections = getconnections
- local GetUpValues = (getupvalues or debug.getupvalues)
- local GetUpValue = (getupvalue or debug.getupvalue)
- local SetUpValue = (setupvalue or debug.setupvalue)
- local GetConstants = (getconstants or debug.getconstants)
- local GetConstant = (getconstant or debug.getconstant)
- local SetConstant = (setconstant or debug.setconstant)
- local GetProtos = (getprotos or debug.getprotos)
- local GetProto = (getproto or debug.getproto)
- local SetProto = (setproto or debug.setproto)
- local GetInfo = (getinfo or debug.getinfo)
- local GetRegistry = (getreg or debug.getregistry)
- local SetReadOnly = setreadonly
- local IsReadOnly = isreadonly
- local CheckCaller = checkcaller
- local GetNamecallMethod = getnamecallmethod
- local GetRawMetatable = getrawmetatable
- local SetRawMetatable = setrawmetatable
- local GetGlobalEnvironment = getgenv
- local GetModuleEnvironment = getmenv
- local GetScriptEnvironment = getsenv
- local GetRobloxEnvironment = getrenv
- local CIELUV = loadstring(game:HttpGet("https://raw.githubusercontent.com/coastss/releases/main/cieluv_color_lerp.lua"))()
- local Library = loadstring(game:HttpGet("https://pastebin.com/raw/edJT9EGX"))()
- local HealthbarLerp = CIELUV:Lerp(Color3.fromRGB(255, 0, 0), Color3.fromRGB(0, 255, 0))
- local Visuals = {Players = {}} do
- local DrawingProperties = {
- Line = {
- Thickness = 1.5,
- Color = Color3.fromRGB(255, 255, 255),
- Visible = false
- },
- Text = {
- Size = 16,
- Center = true,
- Outline = true,
- Color = Color3.fromRGB(255, 255, 255),
- Visible = false
- },
- Circle = {
- Thickness = 1.5,
- NumSides = 100,
- Radius = 0,
- Filled = false,
- Color = Color3.fromRGB(255, 255, 255),
- Visible = false
- },
- Square = {
- Thickness = 1.5,
- Filled = false,
- Color = Color3.fromRGB(255, 255, 255),
- Visible = false
- },
- Image = {
- Rounding = 0,
- Visible = false
- }
- }
- function Visuals:Round(Number, Bracket)
- Bracket = (Bracket or 1)
- if typeof(Number) == "Vector2" then
- return Vector2.new(Visuals:Round(Number.X), Visuals:Round(Number.Y))
- else
- return (Number - Number % (Bracket or 1))
- end
- end
- function Visuals:GetScreenPosition(Position)
- local Position, Visible = Workspace.CurrentCamera:WorldToViewportPoint(Position)
- local FullPosition = Position
- Position = Vector2.new(Position.X, Position.Y)
- return Position, Visible, FullPosition
- end
- function Visuals:CreateDrawing(Type, Custom)
- local Drawing = Drawing.new(Type)
- for Property, Value in pairs(DrawingProperties[Type]) do
- Drawing[Property] = Value
- end
- if Custom then
- for Property, Value in pairs(Custom) do
- Drawing[Property] = Value
- end
- end
- return Drawing
- end
- function Visuals.AddPlayer(Player)
- if not Visuals.Players[Player] then
- Visuals.Players[Player] = {
- Box = {
- Outline = Visuals:CreateDrawing("Square", {Color = Color3.fromRGB(0, 0, 0)}),
- Main = Visuals:CreateDrawing("Square")
- --// Main = Visuals:CreateDrawing("Image", {Data = game:HttpGet("https://coasts.cool/uploads/48ny7FCjZ9iCmbAwlirI.png")})
- },
- Healthbar = {
- Outline = Visuals:CreateDrawing("Square", {Filled = true, Color = Color3.fromRGB(0, 0, 0)}),
- Main = Visuals:CreateDrawing("Square", {Filled = true, Color = Color3.fromRGB(0, 255, 0)})
- },
- Info = {
- Main = Visuals:CreateDrawing("Text"),
- Extra = Visuals:CreateDrawing("Text")
- }
- }
- end
- end
- function Visuals.RemovePlayer(Player)
- if Visuals.Players[Player] then
- for Index, Table in pairs(Visuals.Players[Player]) do
- for Index2, Drawing in pairs(Table) do
- if Drawing.Remove then
- Drawing:Remove()
- end
- end
- end
- Visuals.Players[Player] = nil
- end
- end
- end
- local Connections = {AllConnections = {}} do
- function Connections:Add(Name, Connection, Callback)
- if not Connections.AllConnections[Name] then
- Connection:Connect(Callback)
- Connections.AllConnections[Name] = Connection
- end
- end
- function Connections:Remove(Name)
- local Connection = Connections.AllConnections[Name]
- if Connection then
- Connection:Disconnect()
- end
- end
- end
- local PlayerUtilities = {} do
- function PlayerUtilities:IsPlayerAlive(Player)
- local Character = Player.Character
- local Humanoid = (Character and Character:FindFirstChildWhichIsA("Humanoid"))
- if Character and Humanoid then
- if Humanoid.Health > 0 then
- return true
- end
- end
- return false
- end
- function PlayerUtilities:GetHealth(Player)
- local Character = Player.Character
- local Humanoid = (Character and Character:FindFirstChildWhichIsA("Humanoid"))
- if Character and Humanoid then
- return {
- CurrentHealth = Humanoid.Health,
- MaxHealth = Humanoid.MaxHealth
- }
- end
- end
- function PlayerUtilities:GetBodyParts(Player)
- local Character = Player.Character
- local Head = (Character and Character:FindFirstChild("Head"))
- local Root = (Character and Character:FindFirstChild("HumanoidRootPart"))
- local Torso = Character and (Character:FindFirstChild("LowerTorso") or Character:FindFirstChild("Torso"))
- local LeftArm = Character and (Character:FindFirstChild("LeftLowerArm") or Character:FindFirstChild("Left Arm"))
- local RightArm = Character and (Character:FindFirstChild("RightLowerArm") or Character:FindFirstChild("Right Arm"))
- local LeftLeg = Character and (Character:FindFirstChild("LeftLowerLeg") or Character:FindFirstChild("Left Leg"))
- local RightLeg = Character and (Character:FindFirstChild("RightLowerLeg") or Character:FindFirstChild("Right Leg"))
- if Character and (Head and Root and Torso and LeftArm and RightArm and LeftLeg and RightLeg) then
- return {
- Character = Character,
- Head = Head,
- Root = Root,
- Torso = Torso,
- LeftArm = LeftArm,
- RightArm = RightArm,
- LeftLeg = LeftLeg,
- RightLeg = RightLeg
- }
- end
- end
- function PlayerUtilities:GetTeamColor(Player)
- return Player.TeamColor.Color
- end
- function PlayerUtilities:IsOnClientTeam(Player)
- if LocalPlayer.Team == Player.Team then
- return true
- end
- return false
- end
- function PlayerUtilities:GetDistanceFromClient(Position)
- return LocalPlayer:DistanceFromCharacter(Position)
- end
- function PlayerUtilities:GetClosestPlayer()
- local ClosestPlayer = nil
- local FarthestDistance = math.huge
- for Index, Player in pairs(Players:GetPlayers()) do
- if Player == LocalPlayer then continue end
- local PassedTeamCheck = true
- local IsPlayerAlive = PlayerUtilities:IsPlayerAlive(Player)
- local Health = PlayerUtilities:GetHealth(Player)
- local BodyParts = PlayerUtilities:GetBodyParts(Player)
- local IsOnClientTeam = PlayerUtilities:IsOnClientTeam(Player)
- if Library.flags["Aimbot Team Check"] and IsOnClientTeam then
- PassedTeamCheck = false
- end
- if IsPlayerAlive and Health and BodyParts and PassedTeamCheck then
- local ScreenPosition, OnScreen = Visuals:GetScreenPosition(BodyParts.Root.Position)
- if ScreenPosition and OnScreen then
- local MouseDistance = (ScreenPosition - UserInputService:GetMouseLocation()).Magnitude
- if MouseDistance < FarthestDistance then
- if Library.flags["Aimbot Use FOV"] then
- if MouseDistance <= Library.flags["Aimbot FOV Radius"] then
- FarthestDistance = MouseDistance
- ClosestPlayer = {
- Player = Player,
- BodyParts = BodyParts
- }
- end
- else
- FarthestDistance = MouseDistance
- ClosestPlayer = {
- Player = Player,
- BodyParts = BodyParts
- }
- end
- end
- end
- end
- end
- return ClosestPlayer
- end
- function PlayerUtilities:AimAt(Position, Smoothing)
- local MouseLocation = UserInputService:GetMouseLocation()
- MoveMouse(((Position.X - MouseLocation.X) / Smoothing), ((Position.Y - MouseLocation.Y) / Smoothing))
- end
- end
- for Index, Player in pairs(Players:GetPlayers()) do
- if Player == LocalPlayer then continue end
- Visuals.AddPlayer(Player)
- end
- local FOVCircle = Visuals:CreateDrawing("Circle")
- local Games = {
- [113491250] = "Phantom Forces",
- [1168263273] = "Bad Business"
- }
- local Game = Games[game.GameId]
- if Game == "Phantom Forces" then
- local GetBodyParts = nil
- local GetPlayerHealth = nil
- for Index, Value in pairs(GetGarbageCollection(true)) do
- if typeof(Value) == "table" then
- if rawget(Value, "getbodyparts") then
- GetBodyParts = Value.getbodyparts
- end
- if rawget(Value, "getplayerhealth") then
- GetPlayerHealth = Value.getplayerhealth
- end
- end
- end
- if not GetBodyParts or not GetPlayerHealth then return end
- function PlayerUtilities:IsPlayerAlive(Player)
- local PlayerHealth = GetPlayerHealth(Player, Player)
- if PlayerHealth then
- if math.floor(PlayerHealth) > 0 then
- return true
- end
- end
- return false
- end
- function PlayerUtilities:GetHealth(Player)
- local PlayerHealth = GetPlayerHealth(Player, Player)
- if PlayerHealth then
- return {
- CurrentHealth = math.floor(PlayerHealth),
- MaxHealth = 100
- }
- end
- end
- function PlayerUtilities:GetBodyParts(Player)
- local BodyParts = GetBodyParts(Player)
- if BodyParts and BodyParts.rootpart then
- return {
- Character = BodyParts.rootpart.Parent,
- Head = BodyParts.head,
- Root = BodyParts.rootpart,
- Torso = BodyParts.torso,
- LeftArm = BodyParts.larm,
- RightArm = BodyParts.rarm,
- LeftLeg = BodyParts.lleg,
- RightLeg = BodyParts.rleg
- }
- end
- end
- function PlayerUtilities:AimAt(Position, Smoothing)
- local MouseLocation = UserInputService:GetMouseLocation()
- Smoothing += 0.5
- MoveMouse(((Position.X - MouseLocation.X) / Smoothing), ((Position.Y - MouseLocation.Y) / Smoothing))
- end
- elseif Game == "Bad Business" then
- local TS = require(ReplicatedStorage:WaitForChild("TS"))
- function PlayerUtilities:IsPlayerAlive(Player)
- local Character = TS.Characters:GetCharacter(Player)
- local Health = (Character and Character:FindFirstChild("Health"))
- if Character and Health then
- if Health.Value > 0 then
- return true
- end
- end
- return false
- end
- function PlayerUtilities:GetHealth(Player)
- local Character = TS.Characters:GetCharacter(Player)
- local Health = (Character and Character:FindFirstChild("Health"))
- if Character and (Health and Health:FindFirstChild("MaxHealth")) then
- return {
- CurrentHealth = Health.Value,
- MaxHealth = Health.MaxHealth.Value
- }
- end
- end
- function PlayerUtilities:GetBodyParts(Player)
- local Character = TS.Characters:GetCharacter(Player)
- local Body = (Character and Character:FindFirstChild("Body"))
- if Character and Body then
- local Head = (Body and Body:FindFirstChild("Head"))
- local Root = (Character and Character:FindFirstChild("Root"))
- local Torso = (Body and Body:FindFirstChild("Chest"))
- local LeftArm = (Body and Body:FindFirstChild("LeftArm"))
- local RightArm = (Body and Body:FindFirstChild("RightArm"))
- local LeftLeg = (Body and Body:FindFirstChild("LeftLeg"))
- local RightLeg = (Body and Body:FindFirstChild("RightLeg"))
- if Character and (Head and Root and Torso and LeftArm and RightArm and LeftLeg and RightLeg) then
- return {
- Character = Character,
- Head = Head,
- Root = Root,
- Torso = Torso,
- LeftArm = LeftArm,
- RightArm = RightArm,
- LeftLeg = LeftLeg,
- RightLeg = RightLeg
- }
- end
- end
- end
- function PlayerUtilities:GetDistanceFromClient(Position)
- local ClientBodyParts = PlayerUtilities:GetBodyParts(LocalPlayer)
- if ClientBodyParts then
- return (Position - ClientBodyParts.Root.Position).Magnitude
- end
- return 0
- end
- function PlayerUtilities:GetTeamColor(Player)
- return Teams[TS.Teams:GetPlayerTeam(Player)].Color.Value
- end
- function PlayerUtilities:IsOnClientTeam(Player)
- return TS.Teams:ArePlayersFriendly(Player, LocalPlayer)
- end
- end
- Connections:Add("VisualsPlayerAdded", Players.PlayerAdded, Visuals.AddPlayer)
- Connections:Add("VisualsPlayerRemoved", Players.PlayerRemoving, Visuals.RemovePlayer)
- Connections:Add("UniversalRenderStepped", RunService.RenderStepped, function()
- FOVCircle.Position = UserInputService:GetMouseLocation()
- FOVCircle.Radius = Library.flags["Aimbot FOV Radius"]
- FOVCircle.Color = Library.flags["Aimbot FOV Color"]
- FOVCircle.Visible = ((Library.flags["Aimbot Enabled"] and Library.flags["Aimbot Use FOV"]) and true) or false
- if Library.flags["Aimbot Enabled"] and Library.flags["Aimbot Active"] then
- local ClosestPlayer = PlayerUtilities:GetClosestPlayer()
- if ClosestPlayer and (ClosestPlayer.Player and ClosestPlayer.BodyParts) then
- local ScreenPosition, OnScreen = Visuals:GetScreenPosition(ClosestPlayer.BodyParts.Head.Position)
- if ScreenPosition and OnScreen then
- PlayerUtilities:AimAt(ScreenPosition, Library.flags["Aimbot Smoothing"])
- end
- end
- end
- for Index, Player in pairs(Players:GetPlayers()) do
- if Player == LocalPlayer then continue end
- local Objects = Visuals.Players[Player]
- if not Objects then continue end
- local OnScreen, PassedTeamCheck = false, true
- local IsPlayerAlive = PlayerUtilities:IsPlayerAlive(Player)
- local Health = PlayerUtilities:GetHealth(Player)
- local BodyParts = PlayerUtilities:GetBodyParts(Player)
- local PlayerColor = (PlayerUtilities:IsOnClientTeam(Player) and Library.flags["Visuals Ally Color"]) or Library.flags["Visuals Enemy Color"]
- local IsOnClientTeam = PlayerUtilities:IsOnClientTeam(Player)
- if Library.flags["Visuals Use Team Color"] then
- PlayerColor = PlayerUtilities:GetTeamColor(Player)
- end
- if Library.flags["Visuals Team Check"] and IsOnClientTeam then
- PassedTeamCheck = false
- end
- if IsPlayerAlive and Health and BodyParts and PlayerColor and PassedTeamCheck then
- local HealthPercent = (Health.CurrentHealth / Health.MaxHealth)
- local Distance = PlayerUtilities:GetDistanceFromClient(BodyParts.Root.Position)
- ScreenPosition, OnScreen = Visuals:GetScreenPosition(BodyParts.Root.Position)
- local Orientation, Size = BodyParts.Character:GetBoundingBox()
- local Height = (Workspace.CurrentCamera.CFrame - Workspace.CurrentCamera.CFrame.Position) * Vector3.new(0, (math.clamp(Size.Y, 1, 10) + 0.5) / 2, 0)
- Height = math.abs(Workspace.CurrentCamera:WorldToScreenPoint(Orientation.Position + Height).Y - Workspace.CurrentCamera:WorldToScreenPoint(Orientation.Position - Height).Y)
- Size = Visuals:Round(Vector2.new((Height / 2), Height))
- local NameString = string.format("%s", Player.Name)
- if Player.DisplayName ~= Player.Name then
- NameString = string.format("%s | %s", Player.Name, Player.DisplayName)
- end
- Objects.Box.Main.Color = PlayerColor
- Objects.Box.Main.Size = Size
- Objects.Box.Main.Position = Visuals:Round(Vector2.new(ScreenPosition.X, ScreenPosition.Y) - (Size / 2))
- function Visuals:Round(Number, Bracket)
- Bracket = (Bracket or 1)
- if typeof(Number) == "Vector2" then
- return Vector2.new(Visuals:Round(Number.X), Visuals:Round(Number.Y))
- else
- return (Number - Number % (Bracket or 1))
- end
- end
- Objects.Box.Outline.Thickness = (Objects.Box.Main.Thickness * 2)
- Objects.Box.Outline.Size = Objects.Box.Main.Size
- Objects.Box.Outline.Position = Objects.Box.Main.Position
- Objects.Healthbar.Main.Color = HealthbarLerp(HealthPercent)
- Objects.Healthbar.Main.Size = Vector2.new(2, (-Objects.Box.Main.Size.Y * HealthPercent))
- Objects.Healthbar.Main.Position = Vector2.new((Objects.Box.Main.Position.X - (Objects.Box.Outline.Thickness + 1)), (Objects.Box.Main.Position.Y + Objects.Box.Main.Size.Y))
- Objects.Healthbar.Outline.Size = Vector2.new(4, (Objects.Box.Main.Size.Y + 2))
- Objects.Healthbar.Outline.Position = Vector2.new((Objects.Box.Main.Position.X - (Objects.Box.Outline.Thickness + 2)), (Objects.Box.Main.Position.Y - 1))
- Objects.Info.Main.Font = Drawing.Fonts[Library.flags["Visuals Info Font"]]
- Objects.Info.Main.Text = NameString
- Objects.Info.Main.Position = Vector2.new(((Objects.Box.Main.Size.X / 2) + Objects.Box.Main.Position.X), ((ScreenPosition.Y - Objects.Box.Main.Size.Y / 2) - 18))
- Objects.Info.Extra.Font = Drawing.Fonts[Library.flags["Visuals Info Font"]]
- Objects.Info.Extra.Text = string.format("(%dft) (%d/%d)", Distance, Health.CurrentHealth, Health.MaxHealth)
- Objects.Info.Extra.Position = Vector2.new(((Objects.Box.Main.Size.X / 2) + Objects.Box.Main.Position.X), (Objects.Box.Main.Size.Y + Objects.Box.Main.Position.Y))
- end
- Objects.Box.Main.Visible = (OnScreen and Library.flags["Visuals Show Boxes"]) or false
- Objects.Box.Outline.Visible = Objects.Box.Main.Visible
- Objects.Healthbar.Main.Visible = (OnScreen and Library.flags["Visuals Show Healthbar"]) or false
- Objects.Healthbar.Outline.Visible = Objects.Healthbar.Main.Visible
- Objects.Info.Main.Visible = (OnScreen and Library.flags["Visuals Show Info"]) or false
- Objects.Info.Extra.Visible = (OnScreen and Library.flags["Visuals Show Extra Info"]) or false
- end
- end)
- local Fonts = {} do
- for Font, Number in pairs(Drawing.Fonts) do
- table.insert(Fonts, Font)
- end
- end
- Library.flags["Aimbot Active"] = false
- local AimbotTab = Library:CreateWindow("Aimbot")
- AimbotTab:AddToggle({text = "Enabled", flag = "Aimbot Enabled"})
- AimbotTab:AddToggle({text = "Use Field of View", flag = "Aimbot Use FOV"})
- AimbotTab:AddToggle({text = "Team Check", flag = "Aimbot Team Check"})
- AimbotTab:AddBind({
- text = "Bind",
- flag = "Aimbot Bind",
- key = Enum.UserInputType.MouseButton2,
- hold = true,
- callback = function(Value)
- Library.flags["Aimbot Active"] = (not Value)
- end
- })
- AimbotTab:AddSlider({
- text = "FOV Radius",
- flag = "Aimbot FOV Radius",
- min = 0,
- max = 500,
- float = 1
- })
- AimbotTab:AddSlider({
- text = "Smoothing",
- flag = "Aimbot Smoothing",
- min = 1,
- max = 5,
- float = 0.1
- })
- AimbotTab:AddColor({
- text = "FOV Circle Color",
- flag = "Aimbot FOV Color",
- color = Color3.fromRGB(255, 255, 255)
- })
- local VisualsTab = Library:CreateWindow("Visuals")
- VisualsTab:AddToggle({text = "Boxes", flag = "Visuals Show Boxes"})
- VisualsTab:AddToggle({text = "Healthbar", flag = "Visuals Show Healthbar"})
- VisualsTab:AddToggle({text = "Info", flag = "Visuals Show Info"})
- VisualsTab:AddToggle({text = "Extra Info", flag = "Visuals Show Extra Info"})
- VisualsTab:AddToggle({text = "Use Team Color", flag = "Visuals Use Team Color"})
- VisualsTab:AddToggle({text = "Team Check", flag = "Visuals Team Check"})
- VisualsTab:AddList({
- text = "Info Font",
- flag = "Visuals Info Font",
- values = Fonts
- })
- VisualsTab:AddColor({
- text = "Ally Color",
- flag = "Visuals Ally Color",
- color = Color3.fromRGB(0, 255, 0)
- })
- VisualsTab:AddColor({
- text = "Enemy Color",
- flag = "Visuals Enemy Color",
- color = Color3.fromRGB(255, 0, 0)
- })
- Library:Init()
- UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent)
- if GameProcessedEvent then return end
- if Input.KeyCode == Enum.KeyCode.RightControl then
- Library:Close()
- end
- end)
Add Comment
Please, Sign In to add comment