UNIVERSAL AIM ASSIST – ESP – TRIGGER BOT & MORE! – OPEN SOURCE

Created by Tr4nt#6880

Features:

  • UNIVERSAL
    • AIM ASSIST
    • ESP
    • TRIGGER BOT
    • AND MORE!
  • Tested on: Arsenal, Randomizer, Counter Blox
-- Make sure to edit the values below in a seperated script
_G.priorityPart = "Head"
_G.reactionDelay = 0 -- the lower the faster
_G.sameTeam = true
_G.toggleKey = "X" -- bind it to a familiar key, you will be using this alot
_G.esp = true -- For esp
_G.espColour = Color3.new(0,255,0)
_G.throughwalls = false -- track through walls
--
_G.triggerbot = true
_G.triggerBotDelay = 0
-- edit values below to change tracking area's size
_G.offsetSizeX = 0
_G.offsetSizeY = 0
_G.scaleSizeX = 0.1
_G.scaleSizeY = 0.1
--edit values below to change tracking area's position
_G.offsetPosX = 0
_G.offsetPosY = 0
_G.scalePosX = 0.5
_G.scalePosY = 0.5

_G.trackingColour = Color3.new(0,255,0)
_G.trackingThickness = 1
---------------

local camera = game.Workspace.CurrentCamera
local lp = game.Players.LocalPlayer
local rs = game:GetService("RunService")
local uis = game:GetService("UserInputService")
local raycastParams = RaycastParams.new()


raycastParams.FilterType = Enum.RaycastFilterType.Blacklist


function drawDot(frame, lifetime, x, y, colour)
  local screengui = Instance.new("ScreenGui")
  local frame = Instance.new("Frame")
  frame.Position = UDim2.new(0,x,0,y)
  frame.Size = UDim2.new(0,10,0,10)
  frame.Parent = screengui
  frame.BackgroundColor3 = colour
  screengui.Parent = lp.PlayerGui
  task.wait(lifetime)
  screengui:Destroy()
end

function PointMatch(frame, x, y)
  local pos = frame.AbsolutePosition
  local size = frame.AbsoluteSize
  if (y > pos.Y and y < pos.Y+size.Y) and (x > pos.X and x < pos.X+size.X) then
      return true
  end
  return false
end


local ScreenGui = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local ScreenGui2 = Instance.new("ScreenGui")
local Frame2 = Instance.new("Frame")

local UIStroke = Instance.new("UIStroke")
local TextLabel = Instance.new("TextLabel")

ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

ScreenGui2.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")
ScreenGui2.ResetOnSpawn = false
ScreenGui2.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

Frame.Parent = ScreenGui
Frame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Frame.BackgroundTransparency = 1.000
Frame.Size = UDim2.new(_G.scaleSizeX, _G.offsetSizeX, _G.scaleSizeY, _G.offsetSizeY)
Frame.Position = UDim2.new(0.5,0,0.5,0)
Frame.AnchorPoint = Vector2.new(0.5,0.5)

Frame2.Parent = ScreenGui2
Frame2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Frame2.BackgroundTransparency = 1.000
Frame2.Size = UDim2.new(1, 0, 1, 0)

TextLabel.Parent = Frame
TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
TextLabel.BackgroundTransparency = 1.000
TextLabel.Size = UDim2.new(1, 0, 1, 0)
TextLabel.Font = Enum.Font.SourceSans
TextLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
TextLabel.TextSize = 14.000
TextLabel.TextTransparency = 1.000

UIStroke.Color = _G.trackingColour
UIStroke.Thickness = _G.trackingThickness
UIStroke.Parent = Frame
local val = 0.03333
local isOn = false

uis.InputBegan:Connect(function(input, gameproc)
if input.KeyCode == Enum.KeyCode[_G.toggleKey] and not gameproc then
isOn = not isOn
TextLabel.TextTransparency = 0
TextLabel.Text = tostring(isOn)
task.wait(3)
TextLabel.TextTransparency = 1
end
end)

function characterShootable(model)
   raycastParams.FilterDescendantsInstances = {lp.Character}
   local ray = workspace:Raycast(camera.CFrame.Position, (model[_G.priorityPart].Position-camera.CFrame.Position), raycastParams)
   return model == ray.Instance:FindFirstAncestorWhichIsA("Model")
end

rs.RenderStepped:Connect(function(t)
   if (Frame.Size.X.Offset ~= _G.offsetSizeX or Frame.Size.Y.Offset ~= _G.offsetSizeY) or (Frame.Size.X.Scale ~= _G.scaleSizeX or Frame.Size.Y.Scale ~= _G.scaleSizeY)  then
       Frame.Size = UDim2.new(_G.scaleSizeX, _G.offsetSizeX, _G.scaleSizeY, _G.offsetSizeY)
   end
   if (Frame.Position.X.Offset ~= _G.offsetPosX or Frame.Position.Y.Offset ~= _G.offsetPosY) or (Frame.Position.X.Scale ~= _G.scalePosX or Frame.Position.Y.Scale ~= _G.scalePosY)  then
       Frame.Position = UDim2.new(_G.scalePosX, _G.offsetPosX, _G.scalePosY, _G.offsetPosY)
   end
   if (UIStroke.Color ~= _G.trackingColour or UIStroke.Thickness ~= _G.trackingThickness) then
       UIStroke.Color = _G.trackingColour
       UIStroke.Thickness = _G.trackingThickness
   end
   for _, p in ipairs(game.Players:GetChildren()) do
       if p ~= lp and ((_G.sameTeam and p.Team == lp.Team) or (not _G.sameTeam and p.Team ~= lp.Team))  then
           local model = p.Character
           if model and model:FindFirstChild("Humanoid") and not model:FindFirstChild("ForceField") and model.Humanoid.Health > 0 then
               local vector, onscreen = camera:WorldToScreenPoint(model[_G.priorityPart].Position)
               if isOn and onscreen and PointMatch(Frame, vector.X, vector.Y) then
                   if _G.throughwalls or characterShootable(model)  then
                       if _G.esp then
                           drawDot(Frame, t, vector.X, vector.Y, Color3.new(255,0,0))
                       end
                       if _G.triggerbot then
                           task.wait(_G.triggerBotDelay)
                           mouse1click()
                       end
                       for i = 0.0, 0.9, 0.1 do
                           if not isOn then

                               break
                           end
                             
                           local larp = camera.CFrame:Lerp(CFrame.lookAt(camera.CFrame.Position, model[_G.priorityPart].Position), i)
                           camera.CFrame = larp
                           local quickvec = camera:WorldToScreenPoint(model[_G.priorityPart].Position)
                           if not PointMatch(Frame, quickvec.X, quickvec.Y) or not characterShootable(model) then
                               break
                           end
                           task.wait(val+(_G.reactionDelay < 0 and 0 or _G.reactionDelay))
                       end
                       
                   end
               elseif onscreen and PointMatch(Frame2, vector.X, vector.Y) and _G.esp then
                   drawDot(Frame2, t, vector.X, vector.Y, _G.espColour)
               end
           end
      end
     
  end
end)

⚠️ Warning: Do not download any extensions or anything other than .txt/.lua file, because script will download only in .txt/.lua format or It will redirect you to a pastebin link.

📋 Notice: If you find any of the scripts patched or not working, please report it to Forever4D through Discord. The script will be removed or marked as patched!