MY HYPERSHOT SCRIPT

an anonymous user · August 02, 2025
local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()

local Window = Rayfield:CreateWindow({
   Name = "Aim Assist",
   Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "by Github",
   LoadingSubtitle = "",
   ShowText = "Faggots", -- for mobile users to unhide rayfield, change if you'd like
   Theme = "Default", -- Check https://[Log in to view URL]

   ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode)

   DisableRayfieldPrompts = false,
   DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script has a version mismatch with the interface

   ConfigurationSaving = {
      Enabled = true,
      FolderName = nil, -- Create a custom folder for your hub/game
      FileName = "Big Hub"
   },

   Discord = {
      Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
      Invite = "noinvitelink", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ ABCD would be ABCD
      RememberJoins = true -- Set this to false to make them join the discord every time they load it up
   },

   KeySystem = false, -- Set this to true to use our key system
   KeySettings = {
      Title = "Untitled",
      Subtitle = "Key System",
      Note = "No method of obtaining the key is provided", -- Use this to tell the user how to get a key
      FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
      SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
      GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
      Key = {"Hello"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
   }
})

local AimTab = Window:CreateTab("MainTab", 4483362458) -- Title, Image
local Section = AimTab:CreateSection("Youre Still A Bitch")
local Divider = AimTab:CreateDivider()

Rayfield:Notify({
   Title = "Notification",
   Content = "Your a Bitch",
   Duration = 6.5,
   Image = 4483362458,
})

-- Define these variables outside the toggle
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Mouse = LocalPlayer:GetMouse()
local WorldToViewportPoint = Camera.WorldToViewportPoint
local GetPlayers = Players.GetPlayers
local FindFirstChild = game.FindFirstChild

-- Store our hook reference
local BlatantAimbotHook = nil

local Toggle = AimTab:CreateToggle({
   Name = "Blatant Aimbot",
   CurrentValue = false,
   Flag = "Toggle1",
   Callback = function(Value)
       if Value then
           -- Only create the hook if it doesn't exist
           if not BlatantAimbotHook then
               -- Define these functions inside but only once
               local function GetOnScreenPosition(V3)
                   local Position, IsVisible = WorldToViewportPoint(Camera, V3)
                   return Vector2.new(Position.X, Position.Y), IsVisible
               end
               
               local function GetDirection(Origin, Position)
                   return (Position - Origin).Unit * (Origin - Position).Magnitude
               end
               
               local function GetMousePosition()
                   return Vector2.new(Mouse.X, Mouse.Y)
               end
               
               local function GetClosestPlayer()
                   local Closest, Distance = nil, 10000
                   for _, Player in next, GetPlayers(Players) do
                       if Player ~= LocalPlayer then
                           local Character = Player.Character
                           local Head = Character and FindFirstChild(Character, "Head")
                           local Humanoid = Character and FindFirstChild(Character, "Humanoid")
                           if Head and (Humanoid and Humanoid.Health > 0) then
                               local ScreenPos, IsVisible = GetOnScreenPosition(Head.Position)
                               if IsVisible then
                                   local _Distance = (GetMousePosition() - ScreenPos).Magnitude
                                   if _Distance <= Distance then
                                       Closest = Head
                                       Distance = _Distance
                                   end
                               end
                           end
                       end
                   end
                   return Closest, Distance
               end
               
               -- Create the hook
               BlatantAimbotHook = hookmetamethod(game, "__namecall", function(...)
                   local Method = getnamecallmethod()
                   local Arguments = {...}
                   if Arguments[1] == workspace and Method == "Raycast" then
                       if typeof(Arguments[#Arguments]) ~= "RaycastParams" then
                           return BlatantAimbotHook(...)
                       end
                       local HitPart = GetClosestPlayer()
                       if HitPart then
                           Arguments[3] = GetDirection(Arguments[2], HitPart.Position)
                           return BlatantAimbotHook(unpack(Arguments))
                       end
                   end
                   return BlatantAimbotHook(...)
               end)
           end
       else
           -- Turn off the aimbot
           if BlatantAimbotHook then
               -- Restore the original namecall
               hookmetamethod(game, "__namecall", BlatantAimbotHook)
               BlatantAimbotHook = nil
           end
       end
   end,
})

local Divider = AimTab:CreateDivider()

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Mouse = LocalPlayer:GetMouse()
local WorldToScreenPoint = Camera.WorldToScreenPoint
local GetPlayers = Players.GetPlayers
local FindFirstChild = game.FindFirstChild

-- ✅ Control flag
local RandomAimbotEnabled = false

-- ✅ Rayfield Toggle under AimTab
AimTab:CreateToggle({
    Name = "Legit Aimbot",
    CurrentValue = false,
    Flag = "RandomAimbot",
    Callback = function(Value)
        RandomAimbotEnabled = Value
    end,
})

-- ✅ Utility functions
local function GetOnScreenPosition(V3)
    local Position, IsVisible = WorldToScreenPoint(Camera, V3)
    return Vector2.new(Position.X, Position.Y), IsVisible
end

local function GetDirection(Origin, Position)
    return (Position - Origin).Unit * (Origin - Position).Magnitude
end

local function GetMousePosition()
    return Vector2.new(Mouse.X, Mouse.Y)
end

local function GetClosestPlayer()
    if not RandomAimbotEnabled then
        return nil, math.huge
    end

    local Closest, Distance = nil, 10000
    for _, Player in next, GetPlayers(Players) do
        if Player ~= LocalPlayer then
            local Character = Player.Character
            local Head = Character and FindFirstChild(Character, "Head")
            local Torso = Character and (FindFirstChild(Character, "UpperTorso") or FindFirstChild(Character, "Torso"))
            local Humanoid = Character and FindFirstChild(Character, "Humanoid")
            
            if (Head or Torso) and Humanoid and Humanoid.Health > 0 then
                local TargetPart
                if math.random() <= 0.3 and Head then
                    TargetPart = Head
                elseif Torso then
                    TargetPart = Torso
                end

                if TargetPart then
                    local ScreenPos, IsVisible = GetOnScreenPosition(TargetPart.Position)
                    if IsVisible then
                        local _Distance = (GetMousePosition() - ScreenPos).Magnitude
                        if _Distance <= Distance then
                            Closest = TargetPart
                            Distance = _Distance
                        end
                    end
                end
            end
        end
    end
    return Closest, Distance
end

-- ✅ Silent aimbot logic via Raycast hook
local oldNamecall
oldNamecall = hookmetamethod(game, "__namecall", function(...)
    local Method = getnamecallmethod()
    local Arguments = {...}
    if Arguments[1] == workspace and Method == "Raycast" then
        if typeof(Arguments[#Arguments]) ~= "RaycastParams" then
            return oldNamecall(...)
        end

        if RandomAimbotEnabled then
            local HitPart = GetClosestPlayer()
            if HitPart then
                Arguments[3] = GetDirection(Arguments[2], HitPart.Position)
                return oldNamecall(unpack(Arguments))
            end
        end
    end
    return oldNamecall(...)
end)

local Divider = AimTab:CreateDivider()
local Section = AimTab:CreateSection("JoinQueue")

local Button = AimTab:CreateButton({
   Name = "Join 1v1",
   Callback = function()
   local args = {
	"1v1"
}
game:GetService("ReplicatedStorage"):WaitForChild("Network"):WaitForChild("Remotes"):WaitForChild("JoinQueue"):FireServer(unpack(args))
   end,,m 
})

---

local Button = AimTab:CreateButton({
   Name = "Join 2v2",
   Callback = function()
   local args = {
	"2v2"
}
game:GetService("ReplicatedStorage"):WaitForChild("Network"):WaitForChild("Remotes"):WaitForChild("JoinQueue"):FireServer(unpack(args))
   end,
})

local Section = AimTab:CreateSection("Yep Youre Still A Bitch And Yes Ill Make A Autofarm Soon")
local Divider = AimTab:CreateDivider()
local Section = AimTab:CreateSection("Heres your auto join 1v1 as thats all i can do as 2v2 is too much work")

local Button = AimTab:CreateButton({
   Name = "Autofarm",
   Callback = function()
   local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Navigate to the TextLabel
local textLabel = playerGui:WaitForChild("GameInfoGUI")
	:WaitForChild("GameInfo")
	:WaitForChild("MainBar")
	:WaitForChild("InfoHolder")
	:WaitForChild("MyTeam")
	:WaitForChild("TextLabel")

local function joinQueue()
	local args = { "1v1" }
	ReplicatedStorage:WaitForChild("Network"):WaitForChild("Remotes"):WaitForChild("JoinQueue"):FireServer(unpack(args))
end

-- Listen for Text = "5"
local connection
connection = textLabel:GetPropertyChangedSignal("Text"):Connect(function()
	if textLabel.Text == "5" then
		connection:Disconnect()
		task.delay(10, joinQueue)
	end
end)

-- In case the text is already "5" at the start
if textLabel.Text == "5" then
	connection:Disconnect()
	task.delay(10, joinQueue)
end

-- Listen for any other player leaving the game
Players.PlayerRemoving:Connect(function(leavingPlayer)
	if leavingPlayer ~= player then -- Ensure it's not you leaving
		joinQueue()
	end
end)

   end,
})
Output

Comments

Please sign up or log in to contribute to the discussion.